[英]SqlCommand cannot create table
我在使用SqlCommand创建表时遇到问题。 代码如下
string cs = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename="+ Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\Database\Test.mdf;Integrated Security=True; Database=Test";
SqlConnection sc = new SqlConnection(cs);
sc.Open();
//SqlCommand cmd = new SqlCommand();
try
{
using (SqlCommand command = new SqlCommand(
"CREATE TABLE Dogs1 (Weight INT, Name TEXT, Breed TEXT)", sc))
{
Console.WriteLine(command.ExecuteNonQuery());
}
}
catch
{
Console.WriteLine("Table not created.");
}
我将代码放在Main函数中并运行它。 没有错误,可以打开数据库。 但是,当我检查数据库时,没有创建表。 谁能帮忙看看这里有什么问题吗? 谢谢。
谢谢大家。 这个问题已经解决。 创建Test.mdf时,实际上是在项目的Database文件夹中创建的。 当我双击Test.mdf时,它已链接到Visual Studio中的Server Explorer。 然后,当我将属性更改为“始终复制”时,Test.mdf将被复制到bin / Debug / Database /。 当我使用Path.GetDirectoryName(Assembly.GetExecutingAssembly()。Location)时,我实际上是在bin / Debug /中而不是在项目文件夹中对其进行操作。 结果,该表似乎未创建。 因此,现在我将bin / Debug / Database中的Test.mdf链接到服务器资源管理器,可以看到创建了新表。
是的,您已经在项目内部创建了数据库,该数据库在SQL Server Management Studio中将不可用,因为这是本地应用程序数据库。 SSMS中DB的.mdf文件位置不同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.