c# – 数据没有插入表中?

我的表名是Customer.它有四列

CustomerId
CustomerName
CustomerAddress
PhoneNo

这是我的c#代码.我没有得到任何例外,数据没有插入数据库.

string connString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\VictoryDatabase.mdf;Integrated Security=True;User Instance=True";
SqlConnection myConnection = new SqlConnection(connString);

try
{
   myConnection.Open();
   string query = "insert into Customer(CustomerName,CustomerAddress,PhoneNo) values (@CustNm,'@CustAdd',@Ph)";
   SqlCommand myCommand = new SqlCommand(query,myConnection);
   myCommand.Parameters.AddWithValue("CustNm",Print[0].CustomerName);
   myCommand.Parameters.AddWithValue("CustAdd",Print[0].Address);
   myCommand.Parameters.AddWithValue("Ph",Print[0].Telephone);

   Console.WriteLine(Print[0].Telephone);

   myCommand.ExecuteNonQuery();
   myConnection.Close();
}
catch (Exception e)
{
   Console.WriteLine(e.ToString());
}
正如我之前在这个网站上所说的那样 – 整个用户实例和AttachDbFileName =方法都存在缺陷 – 充其量! Visual Studio将复制.mdf文件,很可能,你的INSERT工作得很好 – 但你最后只是查看错误的.mdf文件!

如果你想坚持这种方法,那么尝试在myConnection.Close()调用上设置一个断点 – 然后用SQL Server Mgmt Studio Express检查.mdf文件 – 我几乎可以肯定你的数据在那里.

我认为真正的解决方案是

>安装SQL Server Express(无论如何你已经完成了)
>安装SQL Server Management Studio Express
>在SSMS Express中创建数据库,为其指定一个逻辑名称(例如VictoryDatabase)
>使用其逻辑数据库名称(在服务器上创建时给定)连接到它 – 并且不要乱用物理数据库文件和用户实例.在这种情况下,您的连接字符串将是这样的:

Data Source=.\\SQLEXPRESS;Database=VictoryDatabase;Integrated Security=True

其他一切都和以前完全一样……

https://stackoverflow.com/questions/9382756/data-is-not-inserting-into-table

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 数据没有插入表中?