数据库未更新C#
我正试图将文本框中的数据保存到数据库中,新数据会显示在网格中,但不会显示在数据库表中。当我关闭应用程序并重新启动它时,网格中出现的数据就会消失。没有错误,但没有上传数据。如果我硬编码路径,但我想使用DataDirectory,以便它可以在其他计算机上使用,它就可以工作。数据库设置为“复制(如果更新)”(对于“复制到输出”目录)。有人能帮忙吗数据库未更新C#,c#,sql,winforms,C#,Sql,Winforms,我正试图将文本框中的数据保存到数据库中,新数据会显示在网格中,但不会显示在数据库表中。当我关闭应用程序并重新启动它时,网格中出现的数据就会消失。没有错误,但没有上传数据。如果我硬编码路径,但我想使用DataDirectory,以便它可以在其他计算机上使用,它就可以工作。数据库设置为“复制(如果更新)”(对于“复制到输出”目录)。有人能帮忙吗 if (dialogResult == DialogResult.Yes) { SqlCommand cmd;
if (dialogResult == DialogResult.Yes)
{
SqlCommand cmd;
SqlConnection con;
con = new SqlConnection(@"Data Source = (LocalDB)\MSSQLLocalDB; AttachDbFilename = |DataDirectory|\TestDatabase.mdf;Integrated Security=True");
con.Open();
cmd = new SqlCommand("INSERT INTO Patient (FirstName, LastName, DOB) VALUES (@FirstName,@LastName,@DOB)", con);
cmd.Parameters.AddWithValue("@FirstName", txtFirstName.Text);
cmd.Parameters.AddWithValue("@LastName", txtLastName.Text);
cmd.Parameters.AddWithValue("@DOB", dateTimePicker1.Text);
cmd.ExecuteNonQuery();
con.Close();
SqlDataAdapter SqlDA = new SqlDataAdapter("SELECT * FROM Patient", con);
DataTable dtbl = new DataTable();
SqlDA.Fill(dtbl);
dataGridView1.DataSource = dtbl;
}
请澄清。您正在插入[Patient]表,但正在从[Users]表进行查询。它们相关吗?看起来每次构建数据库时,您的数据库都会被覆盖,您使用的是哪种数据库?您确定这一切正常吗?您正在关闭连接,然后才尝试重新读取数据。您是否有查看数据库中表的工具?您可能会发现记录在那里,但您只是没有使用SqlDataAdapter选择任何内容。@Cᴏʀʏ
SqlDataAdapter
也会打开连接本身,因此无需调用con.Open()代码>在con.Close()之后代码>。