public void Phone_Delete(object source, DataGridCommandEventArgs e)
{
string strUserName = GetCookie(); string strName = e.Item.Cells[0].Text;
string strConn = ConfigurationSettings.AppSettings["strConnection"]; SqlConnection myCn = new SqlConnection(strConn);
SqlCommand myCmd = new SqlCommand("Delete from PhoneBook where UserName=strUserName and Name=strName",myCn);
try
{
myCn.Open();
myCmd.ExecuteNonQuery();
}
catch(Exception error)
{
throw error;
}
finally
{
myCmd.Dispose();
myCn.Close();
}

DataGridDataBind();

PhoneMessage.Text = "已删除";
}
执行到SqlCommand myCmd = new SqlCommand("Delete from PhoneBook where UserName=strUserName and Name=strName",myCn);时提示出错
说我没有strUserName   strName列
我数据库里是UserName和Name
想删除UserName=strUserName and Name=strName的数据
请问哪里错了?

解决方案 »

  1.   

    name一般是数据库系统的保留字,换成其他字段名试试
      

  2.   

    strSQL = "Delete from PhoneBook where UserName= '" & strUserName & "' and Name='" & strName & "'"
    SqlCommand myCmd = new SqlCommand(strSQL,myCn);
      

  3.   

    string strSQL = "Delete from PhoneBook where UserName= '" & strUserName & "' and Name='" & strName & "'";
    SqlCommand myCmd = new SqlCommand(strSQL,myCn);编译错误 & 无法用于string和string的操作
      

  4.   

    SqlCommand myCmd = new SqlCommand("Delete from PhoneBook where UserName='"+ strUserName +"' and [Name]='"+ strName +"'",myCn);
      

  5.   

    public void Phone_Delete(object source, DataGridCommandEventArgs e)
    {
    string strUserName = GetCookie(); string strName = e.Item.Cells[0].Text;
    string strConn = ConfigurationSettings.AppSettings["strConnection"];
    SqlConnection myCn = new SqlConnection(strConn);
    SqlCommand myCmd = new SqlCommand("Delete from PhoneBook where UserName='"+ strUserName +"' and [Name]='"+ strName +"'",myCn);
    try
    {
    myCn.Open();
    myCmd.ExecuteNonQuery();
    }
    catch(Exception error)
    {
    throw error;
    }
    finally
    {
    myCmd.Dispose();
    myCn.Close();
    }

    DataGridDataBind();

    PhoneMessage.Text = "已删除";
    }已删除 打印出来了
    但是没有删除数据
      

  6.   

    那是符合 UserName='"+ strUserName +"' and [Name]='"+ strName +"'" 的记录不存在,没记录被删除,请检查strUserName的值,也就是GetCookie()的返回值……