-2

当我尝试将文本框中的值插入数据库时​​,数据库中的值没有更新。但是新插入的行是暂时可用的,插入后当我使用选择查询获取行时,新行可用。当我关闭解决方案并再次打开它时,新插入的行就消失了。数据库资源管理器中的表始终不更新。

这是我的代码。

            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();
            }

表名是“address”,有三个字段name(varchar(50)),age(int),city(nchar(10)) 请帮忙。

4

2 回答 2

2

尝试右键单击您的 mdf 文件,选择属性,然后选择不复制以不在您的 bin 中复制。

在此处输入图像描述

于 2012-06-26T18:58:02.183 回答
0

您在错误中说“C:\Users\Thangamani\documents\visual studio 2010\Projects\AddressBook\AddressBook\bin\Debug\”。您在调试期间附加到本地副本。

现在您没有复制数据库,该 mdf 文件不存在,因此出现错误。

更改您的连接字符串以访问原始数据库,而不是本地副本(您不再制作)。

于 2012-06-26T19:31:13.813 回答