笔误,重来
SqlCommand cmd=new SqlCommand("DELETE FROM main WHERE indx = 4",cnt); 
cmd.ExecuteNonQuery();   为什么记录没被删掉?

解决方案 »

  1.   

    cnt是连接字符串吗?如果是这样写SqlCommand cmd=new SqlCommand("DELETE FROM main WHERE indx = 4",cnt); 
    cnt.Open();
    cmd.ExecuteNonQuery();   
    cnt.Close();看看行不?
      

  2.   

    SqlCommand cmd1=new SqlCommand("DELETE FROM main WHERE indx = 4",cnt); 
    int i=cmd.ExecuteNonQuery();   
    MessageBox.Show("ref_rows:"+i.ToString());//看看所影响的行
      

  3.   

    条件对吗? 
    WHERE indx=4
      

  4.   

    cnt是dataset,在之前已经open过了
      

  5.   

    条件一定没错,试过很多次了隐约记得sql语言的delete是做逻辑删除,只是给要删除的记录打上删除标记。想物理删除的话还要其它命令。是不是这个原因?
      

  6.   

    用的什么数据库?直接在数据库中执行那个SQL看看正确否?
      

  7.   

    1)你是不是启动了事务处理?如果是的话你必须还要commit()提交进行物理的操作
    2)你的条件可能不对,不妨把这句话放到其它地方,如sql server的查询分析器里看看是否执行了。
    3)cmd.executeNoQuery()会返回一个整型,看看值是多少?到底有没有影响记录?
      

  8.   

    同意 同意小刀和PowPro(浪侠)的。