winform数据库更新问题

songhongzhe123 2012-04-24 03:41:41
最近接触.net
一遇到更新数据库的问题就实现不了,
虽然没系统学过ADO.net
然后就被狠狠的羞辱了

哪位大牛帮我看看这段代码为什么更新不了数据库
提示删除成功
数据库被没删除

以下是部分代码

private void dGVReceipts_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
{
string errMsg = Receipts_Delete(dGVReceipts.SelectedRows[0].Cells[11].Value.ToString());

MessageBox.Show("删除成功!");
}

public static string Receipts_Delete(string RecID)
{
string ErrorMsg = "";

ErrorMsg = ExecuteSQL("Delete from Receipts where ID='" + RecID + "'");
return ErrorMsg;
}

public static string ExecuteSQL(string SQL)
{
string errMsg = "";
SqlConnection sqlConn = new SqlConnection("Data Source=KCNQHd1458\\TFS_INSTANCE;Initial Catalog=Receipts;User ID=devtest;PWD=test123 ");
SqlCommand sqlComm = new SqlCommand();
sqlConn.Open();
sqlComm.Connection = sqlConn;
sqlComm.CommandText = SQL;
try
{
sqlComm.ExecuteNonQuery();
}
catch (SqlException ex)
{
errMsg = ex.Message;
}

return errMsg;
}

快下班了。晚上我回去看,如果您在指导下子 数据库更新应注意问题 感激不尽
...全文
96 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuelang1225 2012-04-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

好吧,大牛就是大牛,我表示我已经可以吧sqlComm.ExecuteNonQuery() 整成1
事实上也把数据库的内容删除了
但是我很困惑 就是#2 给我提这个问题
dGVReceipts.SelectedRows[0].Cells[11].Value.ToString()
这句话各个参数代表什么意思?哪位好心人给我指点一下,尤其是他的参数, 0 11代表什么意思呢?
[/Quote]控件选择的某列某行,0 11 表示第一行的第12个数据
songhongzhe123 2012-04-24
  • 打赏
  • 举报
回复
好吧,大牛就是大牛,我表示我已经可以吧sqlComm.ExecuteNonQuery() 整成1
事实上也把数据库的内容删除了
但是我很困惑 就是#2 给我提这个问题
dGVReceipts.SelectedRows[0].Cells[11].Value.ToString()
这句话各个参数代表什么意思?哪位好心人给我指点一下,尤其是他的参数, 0 11代表什么意思呢?
songhongzhe123 2012-04-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
dGVReceipts.SelectedRows[0].Cells[11].Value.ToString()

这个值是什么?

sqlComm.ExecuteNonQuery(); 这里应该是
if( sqlComm.ExecuteNonQuery() == 0 )
{
errMsg = "没有需要删除的数据";
}
[/Quote]
你们说的狠让我信服 sqlComm.ExecuteNonQuery(); 0 它真的是0.
但是
dGVReceipts.SelectedRows[0].Cells[11].Value.ToString() 非静态的字段、方法或属性“mustbereceipts.Form1.dGVReceipts”要求对象引用
请问 我这该怎么写呢
Change_L 2012-04-24
  • 打赏
  • 举报
回复
sqlComm.ExecuteNonQuery() 判断它的结构是否大于0
xuelang1225 2012-04-24
  • 打赏
  • 举报
回复
判断删除成功与否应该看ExecuteNonQuery的返回值是否大于0
bdmh 2012-04-24
  • 打赏
  • 举报
回复
你这个代码,怎么执行都会提示成功,因为你没有判断 errMsg 返回值,而是直接MessageBox.Show("删除成功!");

应该根据errMsg 的值,提示不同的信息
Castiel丶Luo 2012-04-24
  • 打赏
  • 举报
回复
dGVReceipts.SelectedRows[0].Cells[11].Value.ToString()

这个值是什么?

sqlComm.ExecuteNonQuery(); 这里应该是
if( sqlComm.ExecuteNonQuery() == 0 )
{
errMsg = "没有需要删除的数据";
}
mizuho_2006 2012-04-24
  • 打赏
  • 举报
回复
判断删除成功与否应该看ExecuteNonQuery的返回值是否大于0

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧