【问题标题】:How to create SQL Server 2012 database with C#?如何使用 C# 创建 SQL Server 2012 数据库?
【发布时间】:2013-09-20 19:08:39
【问题描述】:

我正在使用 SQL Server 2012 为数据库创建一个系统,但是当这个系统第一次在计算机上启动时,我希望系统为我创建数据库和表,而不是创建本手册。

如何使用 C# 创建数据库?以及如何设置连接字符串?因为通常我在连接字符串中设置数据库名称,但现在,我需要先创建数据库

【问题讨论】:

  • 太宽泛了。近距离投票。检查documentation
  • 首先使用 EntityFrameWork 代码
  • 您是如何分发程序的,您是使用安装程序,单击一次,还是只是将编译好的exe复制到计算机?另外,您如何访问数据库,如果您使用的是 EntityFramework,它会内置一些东西来为您创建数据库,但如果您只是使用 ADO.net,您可能需要一个安装脚本。
  • @ScottChamberlain 我只想将编译好的 exe 复制到电脑上
  • @RaimondKuipers 我会研究这个,非常感谢

标签: c# sql sql-server wpf database


【解决方案1】:

您可以使用 SQL 脚本,将数据库名称留空。示例代码在这里:

static void Main(string[] args)
{
  using (var conn = new SqlConnection("data source=DBServer; uid=UserName; pwd=Password;"))
  {
    using (var cmd = new SqlCommand())
    {
      conn.Open();
      cmd.Connection = conn;
      cmd.CommandText = "Create Database NewDB;";
      cmd.ExecuteNonQuery();
      cmd.CommandText = "Use NewDB;CREATE TABLE dbo.Table1 (ID int, Data nvarchar(128));";
      cmd.ExecuteNonQuery();
    }
  }
}

【讨论】:

  • 对不起,我试过了,但它不起作用,我已经将 DBServer 更改为 localhost,uid=sa; pwd=admin,但它不起作用
  • 您不能在同一批次中使用USE <dbName> 作为另一个命令。我建议在创建数据库后关闭连接,然后在连接字符串中指定新数据库重新打开它。
  • @RBarryYoung - 你的 movin sql 页面被冲洗掉了。
  • @RBarryYoung 我在 SQL Server 2008 R2 上试过,它工作正常,你有什么参考资料表明它不能在同一个连接中使用?
  • @Lai32290 你能写更多关于这怎么行不通的事情吗?它是否连接到数据库?
猜你喜欢
  • 2014-01-22
  • 2014-04-25
  • 1970-01-01
  • 2018-06-08
  • 1970-01-01
  • 2011-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多