如何使用 C# 创建 SQL Server 2012 数据库?
Posted
技术标签:
【中文标题】如何使用 C# 创建 SQL Server 2012 数据库?【英文标题】:How to create SQL Server 2012 database with C#? 【发布时间】:2013-09-20 19:08:39 【问题描述】:我正在使用 SQL Server 2012 为数据库创建一个系统,但是当这个系统第一次在计算机上启动时,我希望系统为我创建数据库和表,而不是创建本手册。
如何使用 C# 创建数据库?以及如何设置连接字符串?因为通常我在连接字符串中设置数据库名称,但现在,我需要先创建数据库
【问题讨论】:
太宽泛了。近距离投票。检查documentation 首先使用 EntityFrameWork 代码 您是如何分发程序的,您是使用安装程序,单击一次,还是只是将编译好的exe复制到计算机?另外,您如何访问数据库,如果您使用的是 EntityFramework,它会内置一些东西来为您创建数据库,但如果您只是使用 ADO.net,您可能需要一个安装脚本。 @ScottChamberlain 我只想将编译好的 exe 复制到电脑上 @RaimondKuipers 我会研究这个,非常感谢 【参考方案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 你能写更多关于这怎么行不通的事情吗?它是否连接到数据库?以上是关于如何使用 C# 创建 SQL Server 2012 数据库?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 C# 在 SQL Server 数据库中创建视图?
如何在 C# MVC 应用程序中在运行时创建 SQL Server Express 数据库?