string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";
                strConnection += @"Data Source=E:\product.mdb";                OleDbConnection objConnection = new OleDbConnection(strConnection);
                objConnection.Open();             
               
                string strSQL = "DELETE  * FROM Product WHERE productName='" + this.TextBox3.Text + " '";                
                OleDbCommand cmd = new OleDbCommand(strSQL, objConnection);                cmd.ExecuteNonQuery();
              
                cmd.Connection.Close();
                objConnection.Close();
为什么这样数据还没有删除成功呢,急啊

解决方案 »

  1.   

    额。你的SQL语句错了
    string strSQL = "DELETE  * FROM Product WHERE productName='" + this.TextBox3.Text + " '"; 改
    string strSQL = "DELETE Product WHERE productName='" + this.TextBox3.Text + " '"; 
      

  2.   

    SQL  应该是
    DELETE Product WHERE productName='" + this.TextBox3.Text + " 'ACCESS 没用过 ,估计肯定不是你这样写的
    大概是这样
    DELETE FROM Product WHERE productName='" + this.TextBox3.Text + " ' 
      

  3.   

    SQL  应该是 
    DELETE Product WHERE productName='" + this.TextBox3.Text + " ' 
      

  4.   

    根据ID删除 怎么可能删除不了啊  除非 你ID得不到啊
      

  5.   

    SQL语句写的没错
    看一下strSQL的值是多少
    可能是this.TextBox3.Text内容前后包含有空格删除时,最好使用主键字段做为WHERE条件
      

  6.   

    除了SQL语句有问题外,其它错误你这个上面看不出来 --如果有的话
      

  7.   

    为什么在acess中如果是文本类型的数据输入进去以后会是带空格的呢
      

  8.   

    DELETE Product WHERE productName='" + this.TextBox3.Text.Trim() + " ' .Trim()不就行了!!!
      

  9.   

    看样子是SQL错误
    你先断点看看生成字串是什么?
    然后再看看能不能在查询分析器中执行
      

  10.   

    其实最方便的还是使用ID来删除了。上面不能删除有可能是因为ProductName中包含空格或者是ProductName中字母有大小写,建议把ProductName 转换为全部大写,或者是全部小写,然后去掉字符串两边的空格,作为参数传递进去再删除。