string newsID = this.Label1.Text;
        OleDbConnection myconn = DB.CreateConnection();
        myconn.Open();
        string sql = "delete from news where ID="+newsID;
        OleDbCommand cmd = new OleDbCommand(sql, myconn);
        cmd.ExecuteNonQuery();
这次提示“语法错误 (操作符丢失) 在查询表达式 'ID=' 中”
如何修改 我就是想要对数据库中的新闻进行删除操作(数据库中的ID是自动编号的)。

解决方案 »

  1.   

    ID字段是什么类型的,这样试下string sql = "delete from news where [ID]='"+newsID+"'";
      

  2.   

    可能你newsID是空字符串,所以报这个错误
      

  3.   

    protected void LinkButton2_Click(object sender, EventArgs e)
        {
            string newsID = this.Label1.Text;
            OleDbConnection myconn = DB.CreateConnection();
            myconn.Open();
            string sql = "delete from news where ID='" + newsID + "'";
            OleDbCommand cmd = new OleDbCommand(sql, myconn);
            cmd.ExecuteNonQuery();
                this.lerror.Text = DB.Show("删除成功");
                this.Repeater1.DataBind();
    }提示是“标准表达式中数据类型不匹配”
      

  4.   

    哦,是自动编号的,那就断点跟踪下,看看newsID的内容是否为空,使用前先做下判断string sql = "delete from news where [ID]="+newsID;
      

  5.   

    protected void LinkButton2_Click(object sender, EventArgs e)
        {
            string newsID = this.Label1.Text;
    if(newsID!="")
    {
            OleDbConnection myconn = DB.CreateConnection();
            myconn.Open();
            OleDbCommand cmd = new OleDbCommand("delete from news where ID="+newsID +"", myconn);
            cmd.ExecuteNonQuery();
                this.lerror.Text = DB.Show("删除成功");
                this.Repeater1.DataBind();
    }
    else
    {}}