当我尝试将文本框中的值插入数据库时,数据库中的值不会更新。但是新插入的行暂时可用,插入后我使用select查询获取行时,新行可用。当我关闭解决方案并再次打开它时,新插入的行已经消失。数据库资源管理器中的表始终未更新。
这是我的代码。
string connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";
string na = textBox1.Text;
int ag = int.Parse(textBox2.Text);
string ci = textBox3.Text;
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand insertCommand = connection.CreateCommand())
{
insertCommand.CommandText = "INSERT INTO address(name,age,city) VALUES (@na,@ag,@ci)";
insertCommand.Parameters.AddWithValue("@na", na);
insertCommand.Parameters.AddWithValue("@ag", ag);
insertCommand.Parameters.AddWithValue("@ci", ci);
insertCommand.Connection.Open();
insertCommand.ExecuteNonQuery();
insertCommand.Connection.Close();
MessageBox.Show("finish");
}
//connection.Close();
}
表名是“地址”,有三个字段名称(varchar(50)),age(int),city(nchar(10)) 请帮忙。
答案 0 :(得分:2)
尝试右键单击mdf文件,选择属性,然后选择不复制以便不在bin中复制。
答案 1 :(得分:0)
你说" C:\ Users \ Thangamani \ documents \ visual studio 2010 \ Projects \ AddressBook \ AddressBook \ bin \ Debug \"在错误中。您正在调试期间附加到本地副本。
既然您没有复制数据库,那么该mdf文件就不存在了,因此错误。
更改连接字符串以访问原始数据库,而不是本地副本(您不再使用本地副本)。