2012-07-11 68 views
0

我在C#项目上工作(WinForm)如何使用代码行在SqlServer2008 Express中创建数据库

我在客户端PC上安装Sql Server 2008 Express。

开始我的程序必须创建一个数据库。所以我使用此代码为创建数据库:

string sqlCreateDBQuery; 

      SqlConnection tmpConn = new SqlConnection(@"SERVER =.\SQLEXPRESS; Trusted_Connection = yes;DATABASE = master;"); 

      sqlCreateDBQuery = " CREATE DATABASE " 
           + DatabaseName 
           + " ON PRIMARY " 
           + " (NAME = " + DatabaseName + ", " 
           + " FILENAME = '" + @"C:" + @"\" + DatabaseName + ".mdf" + "', " 
           + " SIZE = 3MB," 
           + " FILEGROWTH = " + "10%" + ") " 
           + " LOG ON (NAME =" + "MyDatabase_Log" + ", " 
           + " FILENAME = '" + @"C:" + @"\" + DatabaseName + "_log.ldf" + "', " 
           + " SIZE = 1MB, " 
           + " FILEGROWTH = " + "10%" + ") "; 
      sqlCreateDBQuery = Coomand; 

      SqlCommand myCommand = new SqlCommand(sqlCreateDBQuery, tmpConn); 
      try 
      { 
       tmpConn.Open(); 
       MessageBox.Show(sqlCreateDBQuery); 
       myCommand.ExecuteNonQuery(); 
      } 
      catch (System.Exception ex) 
      { 
       MessageBox.Show(ex.ToString()); 
      } 
      finally 
      { 
       tmpConn.Close(); 
      } 
      return; 

但是当我的程序运行我看到下面的错误

enter image description here

什么是我的问题?

+0

看到这个:HTTP://www.codeproject。 com/Articles/10213/Create-a-SQL-Server-Database-Using-C – NoChance 2012-07-11 15:03:15

+0

谢谢我的朋友。但不起作用。 – mehdi 2012-07-11 15:27:49

+0

在您的代码中,请避免在根目录C中创建文件(请参阅错误消息)。使用可以读取/写入的子目录。根据链接,你会得到什么错误?你是否以管理员身份运行应用程序?你可以连接到数据库? – NoChance 2012-07-11 15:29:43

回答

0

它从错误消息看你没有权限在根上创建你的mdf文件。说实话,你不应该把它放在那里,因为它太暴露了。将它放在应用程序的文件夹中,或放在不会意外删除的地方。

我也认为你应该将它作为初始设置的安装脚本运行,而不是在你的代码中运行。我非常支持尽可能地让sql脱离代码,但对每个人来说都是如此。你说你建立了SQL Server数据库,你应该使用你可以使用的工具来让你轻松实现。我有一本书从Wrox的那个使我受益匪浅,这里是链接:http://www.wrox.com/WileyCDA/WroxTitle/Wrox-s-SQL-Server-2005-Express-Edition-Starter-Kit.productCd-0764589237.html -Amazon有它的$ 2 - http://www.amazon.com/Server-Express-Edition-Starter-Programmer/dp/B006TQYC8U/ref=sr_1_1?ie=UTF8&qid=1342019983&sr=8-1&keywords=Wrox%27s+SQL+Server+2005+Express+Edition+Starter+Kit

另外:

http://msdn.microsoft.com/en-us/library/bb264562(v=sql.90).aspx

+0

我安装Sql server 2008 Express从安装程序版本(即Visual Studio自己制作它)和此Sql服务器没有“Sql Server Management Studio”。和当我的电脑上运行我的程序。它工作得很好。但是当安装并在客户端PC上运行时,出现错误。我认为我安装在客户端PC上的Sql服务器是Raw并且不具有任何用户和Pass(实例)。 – mehdi 2012-07-11 15:34:24

相关问题