关于ExecuteNonQuery的问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 23:22:52
我在写一个C#程序,一边显示数据库中的数据,即窗口初始化时候显示数据库中所有条目,另外有一个刷新按钮,也可以重新读取条目并显示;另外一边可以插入数据,有个确定按钮点击即执行insert语句,我用的是ExecuteNonQuery()方法,但是遇到了一个问题:当我点击确定插入时候,提示插入成功,点击刷新也显示数据插入进去了,但是我退出窗口重新打开后却发现数据还是原来的数据,新的数据没插进去;只能手动到数据库去改;请高手帮帮忙!谢谢!
我的是和 贰壹肆伍捌 说的一样代码,执行可以成功,就是关闭窗口后再打开没了原来数据,前面连接部分是这样的:
string connectionString = Properties.Settings.Default.DiaryDataConnectionString;
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;

从你给出的代码中看.好像没有错误.
但你的cmd在哪声明的?有没有指定它的sqlconnection?

我把你的代码整理了一下.你看看:

string titleData = textBoxTitle.Text;
string bodyData = textBoxBody.Text;
System.DateTime currentTime = new System.DateTime();
string a = "";
SqlConnection conn=new SqlConnection(".....");
SqlCommand cmd=new SqlCommand("insert into Diarys(title,body,type,time) values('" + titleData + "','" + bodyData + "','" + a + "','" + currentTime.ToString() +"');",conn);
try{
conn.Open();
if (cmd.ExecuteNonQuery()>0)
{
MessageBox.Show("OK");
}
else
{
MessageBox.Show("执行错误");
}
}catch{
MessageBox.Show("系统错误");
}finally{
conn.Close();
}

你在插入完毕后,应该尝试去关闭哪个连接,让程序将实际数据写回数据库。conn.close()