在c#中将数据从文本框插入到sql数据库时出错

时间:2012-06-26 18:54:20

标签: c# sql

当我尝试将文本框中的值插入数据库时​​,数据库中的值不会更新。但是新插入的行暂时可用,插入后我使用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)) 请帮忙。

2 个答案:

答案 0 :(得分:2)

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

enter image description here

答案 1 :(得分:0)

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

既然您没有复制数据库,那么该mdf文件就不存在了,因此错误。

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

相关问题