String newsID=int.Parse(Request.QuertString["newsid"]);
SqlConnection con=new ......;
con.open();
string strDelete="delete from news where newsid='"+newsID+'"";
SQlCONMMAND cmd=new SqlCommand("strDelete",con);
cmd.ExcuteNonQuery();
........
.......
试一下,应当可以解决问题.

解决方案 »

  1.   

    非常感谢您的回复,此问题解决了.不过我不明白为什么要string strDelete="delete from news where newsid='"+newsID+“‘"这样写?newsID是int类型的。
      

  2.   

    因为你数据库里newsid定义的类型是varchar的string strDelete="delete from news where newsid='newsID'";
    你这样传入是把newsID当成int传入的。
    所以会抱错。
      

  3.   

    感谢您的回复
    但是我查了我数据库中的newsid字段是int类型的
      

  4.   

    1,你真的能够取得Request.QuertString["newsid"]值并是合法的吗?
    2,使用Convert.ToInt32()试试。
      
    ~_~!~_~!~_~!~_~!~_~!~_~!~_~!~_~!~_~!
    我的E-Mail:[email protected] 请多指教!
      

  5.   

    int newsID=int.Parse(Request.QuertString["newsid"]);
    SqlConnection con=new ......;
    con.open();
    string strDelete="delete from news where newsid='newsID'";
    SQlCONMMAND cmd=new SqlCommand("strDelete",con);
    cmd.ExcuteNonQuery();其实错误的原因就是在你的strDelete这个语句,newsID是变量,你怎么可以那样传呢?
    这是最基本的sql语句的写法呀!
    string strDelete="delete from news where newsid='"+ newsID +"'";
    或者可以改成这样子:
    string strDelete="delete from news where newsid=" + newsID;
    改成上面这样子就行了。