程序如下:
{ OleDbDataAdapter PSASPAdapter = new OleDbDataAdapter("SELECT * FROM " + tableName, PSASPConnection); 
            PSASPAdapter.SelectCommand = new OleDbCommand("SELECT * FROM " + tableName, PSASPConnection); 
            OleDbCommandBuilder PSASPBuilder = new OleDbCommandBuilder(PSASPAdapter); 
            DataSet PSASPDataset = new DataSet(); 
            PSASPAdapter.Fill(PSASPDataset, tableName) 
            DataRow deleteRow = PSASPDataset.Tables[0].Rows[1]; 
                    deleteRow.Delete(); 
                    PSASPAdapter.Update(PSASPDataset.Tables[0]);} 
为什么?而且是删除有的数据库可以,删除有的数据库就会出现这个问题。

解决方案 »

  1.   

    tableName这表是不是没主键
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
      

  2.   

     我在前面设置了主键,也不行。
               DataColumn[] keys = new DataColumn[1];
                keys[0] = PSASPDataset.Tables[tableName].Columns[0];
                PSASPDataset.Tables[tableName].PrimaryKey = keys;
      

  3.   

    你给PSASPAdapter指定DeleteCommand,UpdateCommand了吗?
      

  4.   

    看看你的Sql语句长度,很多数据库sql语句长度是有限制的。
      

  5.   

    feiyun0112,你好, 恩,数据库里是没有主键,对此有影响吗?要怎么办 啊?
      

  6.   

    如果没有主键就不能用
    PSASPAdapter.Update(PSASPDataset.Tables[0])
    因为这个是根据主键去判断是更新还是插入的,自动生成UpdateCommand