繁体   English   中英

SqlCommand无法创建表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM