try
{}
catch(Exception ex)
{
  MessageBox.show(ex.ToString());
}
检查一下具体的错误

解决方案 »

  1.   

    使用ExecuteScalar()必须指令列
    Select name,sex from youtable你这里:删除后
    想返回受影响的行!这样做做不到,除非采用存储过程.
      

  2.   

    string delstr ="delete * from mtzl where 记录号=@记录号";
    SqlCommand cmddel=new SqlCommand(delstr,mtconn);
    cmddel.Parameters.Add(New SqlParameter("@记录号", SqlDbType.Decimal,9))
    cmddel.Parameters("@记录号").Value = 是你具体的值(我想不会是id吧,类型都不对)
    mtconn.Open() ;
    cmddel.ExecuteNoQuery();
    mtconn.Close() ;
      

  3.   

    这句是错在SQL 语句不能加参数吧。
    应该是存储过程才有参数。
    string delete_id ="";
    delete_id = id; //你要删除的记录号
    string delstr ="delete * from mtzl where 记录号'"+delete_id;
    SqlCommand cmddel=new SqlCommand(delstr,mtconn);
    mtconn.Open() ;
    cmddel.executeno.....
    mtconn.Close() ;
      

  4.   

    这个错误和别的错误显示的还不太一样
    是在cmddel.ExecuteNonQuery();上面显示绿颜色左边还有小箭头还是出现这样的错误
    string delstr ="delete * from mtzl where 记录号="+"1";
    SqlCommand cmddel=new SqlCommand(delstr,mtconn);
    mtconn.Open() ;
    cmddel.ExecuteNonQuery();    
    mtconn.Close() ;
      

  5.   

    用存储过程吧,方便,高效,安全,我写过一个简单示例,你参考一下:
    //执行带参数的存储过程
    private void ExecSP(string sp_name,string para1,string para2)
    {
    SqlConnection cnn = GetSqlConnection();
    SqlCommand cmd = new SqlCommand(sp_name,cnn);
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.Add("@item_id",SqlDbType.NVarChar,255);
    cmd.Parameters.Add("@item_name",SqlDbType.NVarChar,255);
    cmd.Parameters["@item_id"].Value = para1;
    cmd.Parameters["@item_name"].Value = para2;
              cnn.Open();
    cmd.ExecuteNonQuery();
    cnn.Close();
    }