向大家求一个SQL语句

anjan 2004-08-02 10:00:05
向大家求一个SQL语句:
从上一个页页得到了许多记录的ID号,我现在要用delete from anjan where id in语句来删除。请问在循环中怎样写。
...全文
96 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
brightheroes 2004-08-02
  • 打赏
  • 举报
回复
这样写:
string delsql = "delete from anjan where id in( ";
foreach (DataListItem CheckBoxItem in DataList1.Items)
{
Checkall = (CheckBox)CheckBoxItem.FindControl("Checkbox1");
if ( Checkall.Checked )
{
delsql += CheckBoxItem.Cells[0].Text + ",";//假设你的第一列绑定的是ID
}
}

delsql = delsql.SubString(0,delsql.Lenth - 1) + ")";

anjan 2004-08-02
  • 打赏
  • 举报
回复
string delsql = "delete from anjan where id in ";
foreach (DataListItem CheckBoxItem in DataList1.Items)
{
Checkall = (CheckBox)CheckBoxItem.FindControl("Checkbox1");
if ( Checkall.Checked )
{
这里怎样写!
}
}
brightheroes 2004-08-02
  • 打赏
  • 举报
回复
从上一个页页得到了许多记录的ID号
----你可以将这些id号用","格开
不用写循环
直接
"delete from anjan where id in (" + yourIdList + ")"
张新林 2004-08-02
  • 打赏
  • 举报
回复
string delsql = "delete from anjan where id in ";
bool first=true;
foreach (DataListItem CheckBoxItem in DataList1.Items)
{
Checkall = (CheckBox)CheckBoxItem.FindControl("Checkbox1");
if ( Checkall.Checked )
{
if (first)
{
delsql += this.DataList1.DataKeys[CheckBoxItem.ItemIndex];
first=false;
}
else
delsql += ","+this.DataList1.DataKeys[CheckBoxItem.ItemIndex];
}
}
anjan 2004-08-02
  • 打赏
  • 举报
回复
我的代码如下:
老是删除不成功。
private void Button1_Click(object sender, System.EventArgs e)
{
Button1.Attributes.Add("onclick","return confirm('您真是要删除吗?')");
SqlConnection MyConn=new SqlConnection ("server=work35;database=aspnet;user=sa;password=sa");
string delsql = "delete from anjan where id in(";
SqlCommand MyComm=new SqlCommand(delsql,MyConn);
MyConn.Open();
int i = 1;
CheckBox Checkall;//定义一个CheckBox
foreach (DataListItem CheckBoxItem in DataList1.Items)
{
Checkall = (CheckBox)CheckBoxItem.FindControl("Checkbox1");
if ( Checkall.Checked )
{
delsql += is.DataList1.DataKeysCheckBoxItem.ItemIndex]+",";
i = i + 1;
}
}
if ( i != 1 )
{
delsql = delsql.Substring(0,delsql.Length-1) + ")";
try
{
MyComm.ExecuteNonQuery();
this.Label4.Text="删除数据成功!";
}
catch (SqlException)
{
this.Label4.Text="删除数据失败!";
}
BindToDataSource();
}
}
else
{
Response.Write("<script>alert('你没有选择有记录,请重新选择!');</script>");
}
MyConn.Close();
anjan 2004-08-02
  • 打赏
  • 举报
回复
string delsql = "delete from anjan where id in ";
foreach (DataListItem CheckBoxItem in DataList1.Items)
{
Checkall = (CheckBox)CheckBoxItem.FindControl("Checkbox1");
if ( Checkall.Checked )
{
delsql += this.DataList1.DataKeys[CheckBoxItem.ItemIndex]+",";
}
}
为什么老是执行的时候,总是不能删除。
我用了一个label1来测试delsql,结果输出的delsql语句是正确的。
例如:我选择了第一条记录和第二条记录。
结果在label1输出:delete from anjan where id in(1,2)
但是为什么不能删除呢?

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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