谢谢大侠们帮我看下这段删除代码错哪了!
private void shanchu(){
string ID = "";
string sql = "Select * from StudentID";
foreach (DataGridViewRow dgvr in dataGridView1.SelectedRows)
{
ID = ID + dgvr.Cells["Column1"].Value + ",";
}
ID = ID.Substring(0, ID.Length - 1);
string SQL="DELTE * From StudentID where ID in ("+ID+");";
SqlConnection sqlcon = new SqlConnection("server=.;database=Accp;Uid=sa;pwd=123456");
sqlcon.Open();
SqlCommand sqlcom = new SqlCommand(sql, sqlcon);
int deleteRes = sqlcom.ExecuteNonQuery();
sqlcon.Close();
if (deleteRes > 0)
{
MessageBox.Show("删除成功!");
}
else
{
MessageBox.Show("删除失败!");
} --------------------编程问答-------------------- string SQL="DELTE * From StudentID where ID in ("+ID+");";
没看懂。。 --------------------编程问答-------------------- string SQL="DELTE * From StudentID where ID in ("+ID+");";
Sql语句写错了:
正确写法,
string SQL="DELETE From StudentID where ID in ("+ID+");"; --------------------编程问答--------------------
(⊙v⊙)嗯
同2楼 --------------------编程问答-------------------- --------------------编程问答-------------------- 同意二楼! --------------------编程问答-------------------- F11单步
ID+=""
ID =ID.EndsWith(",")? ID.Substring(0, ID.Length - 1):ID;
if(!string.IsNullOrEmpty(ID))
{
string SQL="DELTE From StudentID where ID in ("+ID+");";
} --------------------编程问答-------------------- 我是菜鸟我也看出来了 --------------------编程问答-------------------- 还是不对! ID = ID.Substring(0, ID.Length - 1);
错误提示在这!
Length cannot be less than zero.
Parameter name: length --------------------编程问答-------------------- 第一个问题,楼上已经给你找出来了,语法问题。
第二个,ID = ID.Substring(0, ID.Length - 1);
可能是你ID的Length 长度-1引起的,可能是你的长度不够
--------------------编程问答-------------------- 这个删除语句太强悍了,哈哈哈 --------------------编程问答-------------------- 少写了一个E DELETE --------------------编程问答-------------------- ID就一个值为什么还用in呢直接=多么简单呢 --------------------编程问答-------------------- string SQL = "DELETE StudentID where ID in ("+ID+")"; --------------------编程问答--------------------
不对吧 应该不了一个
foreach (DataGridViewRow dgvr in dataGridView1.SelectedRows)
{
ID = ID + dgvr.Cells["Column1"].Value + ",";
}
ID+=dgvr.Cells["Column1"].Value;这样写好看些
--------------------编程问答-------------------- http://blog.csdn.net/yanjiaye520/archive/2010/11/30/6046304.aspx
给个链接给你参考下! --------------------编程问答-------------------- --------------------编程问答-------------------- DELETE 的错误就不说了,可能是你的失误。
那个-1,之前ID的值也许-1后,可能等于0,那就不存在了。 --------------------编程问答-------------------- 第二个,ID = ID.Substring(0, ID.Length - 1);
可能是你ID的Length 长度-1引起的,可能是你的长度不够
是这样的!ID = ID + dgvr.Cells["Column1"].Value + ",";
substring 取的应该是Value后面这个字符串的值 ",";我现在拼接成我要删除1;那么就要去掉,号,所以用上substring;
--------------------编程问答-------------------- 哪位大侠帮忙下啊!
--------------------编程问答--------------------
用TrimEnd
补充:.NET技术 , C#