繁体   English   中英

从C#程序插入时SQL数据库未更新

[英]SQL database is not getting updated while inserting from C# program

我是C#和数据库的新手。 我正在使用CreateConnection()方法连接到本地数据库服务器。 我正在尝试将数据插入数据库表。 当我使用选择查询从SQL Server Management Studio中读取此数据时,我无法从表中获取数据。 但是,当我从C#程序执行sql查询时,我能够读取此数据。 我怀疑C#程序正在访问的表和在SQL Server Management Studio中创建的表是否不相同,即使它们具有相同的路径和名称也是如此。

CreateConnection代码:

    public void CreateConnection()
    {
        Console.WriteLine("CreateConnection");

        myConnection = new SqlConnection("Data Source=(local); Database=MyServerDB;Server=ATLW732FV000169\\SQLEXPRESS;Integrated Security=True; connection timeout=30");
        {
            try
            {
                myConnection.Open();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
        }
    }

SQL查询代码:

primary_cmd = "INSERT INTO flightData (flightNum, Country) VALUES ('555','xyz');"

using (SqlCommand myCommand = new SqlCommand(primary_cmd, myConnection))
{
    try
    {
        int rows = myCommand.ExecuteNonQuery();                                        
    }
    catch (SqlException e)
    {
        Console.WriteLine(e);
    }
} 

将数据插入数据库时​​,没有任何异常。 当我在SQL Server Management Studio中运行相同的插入查询时,它可以正常工作并将数据插入表中。 另外,我能够从C#程序的表中读取插入的数据。 看起来C#正在连接到某个临时数据库表并插入其中。

听起来您的连接字符串是错误的,因为它没有建立您期望的连接。 其他一切似乎都正确。 我认为我从未在同一连接字符串中看到过DataSource =(local)和Server =...。 也许尝试类似:

new SQLConnection("Persist Security Info=False;Integrated Security=true;Initial Catalog=MyServerDB;server=(local)")

要么:

new SQLConnection("SERVER=ATLW732FV000169\\SQLEXPRESS;Trusted_Connection=Yes;DATABASE=MyServerDB")

隐式事务可能已在数据库中关闭。 在这种情况下,您需要通过执行另一个命令来提交事务:

COMMIT TRANSACTION

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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