为什么插入表不工作
本文关键字:工作 插入 为什么 | 更新日期: 2023-09-27 18:14:10
我想知道为什么这段代码不工作?
SqlCommand comand = new SqlCommand();
//string myConnectionString = "Data Source=.'SQLEXPRESS;Initial Catalog=try;Integrated Security=True;Pooling=False";
SqlConnection conn = new SqlConnection(@"server=.'SQLEXPRESS;AttachDbFilename=|DataDirectory|'mydatabase.mdf;Integrated Security=True;User Instance=True");
comand.Connection = conn;
conn.Open();
comand.CommandText = "INSERT INTO TableProduct (productID,productName) VALUES ('1','M')";
comand.ExecuteNonQuery();
conn.Close();
整个User Instance和AttachDbFileName=方法是有缺陷的-充其量!当你在Visual Studio中运行你的应用程序时,它会复制周围的.mdf
文件(从你的App_Data
目录到输出目录-通常是.'bin'debug
-你的应用程序运行的地方)和最有可能,你的INSERT
工作得很好-但你只是在看错误的。mdf文件在结束!
如果你想坚持这种方法,然后尝试在myConnection.Close()
调用上设置一个断点-然后用SQL Server Mgmt Studio Express检查.mdf
文件-我几乎可以肯定你的数据在那里。
安装SQL Server Express(你已经这样做了)
install SQL Server Management Studio Express
在SSMS Express中创建数据库,给它一个逻辑名称(例如
mydatabase
)使用它的逻辑数据库名(在服务器上创建时给出)连接到它,不要乱搞物理数据库文件和用户实例。在这种情况下,您的连接字符串类似于:
Data Source=.''SQLEXPRESS;Database=mydatabase;Integrated Security=True
和其他的都是和以前完全一样的
因为您将SqlCommand
声明为comando
,而将其用作comand
?
SqlCommand comando = new SqlCommand();
SqlCommand comand = new SqlCommand();