昨天用GotDotNet.ApplicationBlocks.Data做的.以为是GotDotNet.ApplicationBlocks.Data封装有BUG.所以我现在直接用OleDB做了类似操作.
代码如下
其中数据库MusicList大约3.5w条左右.string sqlcmd = @"SELECT MusicList.MusicName, MusicList.Singer, MusicList.Wma, SClass.SClass
FROM MusicList INNER JOIN SClass ON MusicList.SClassID = SClass.SClassid
WHERE (((MusicList.MusicName) Like '%"+textBox1.Text+"%') OR ((MusicList.Singer) Like '%"+textBox1.Text+"%'))";
OleDbConnection conn=new OleDbConnection(GetConnectionString());
OleDbCommand cmd = new OleDbCommand(sqlcmd,conn);
OleDbDataAdapter objAdapter = new OleDbDataAdapter(cmd);
DataSet objDataSet = new DataSet();
objAdapter.Fill(objDataSet,"SongList");
DataView objDataView = new DataView(objDataSet.Tables["SongList"]);
dataGrid1.DataSource = objDataView;
得到的却是一个异常.是什么数据溢出异常.然后我吧MusicList数据减少到很少的数量.以证明到底是数据溢出还是我的查询语句有问题.结果我吧数据减少到几百条.在做试验.一切就正常了.可是我觉得这可能不是access限制吧?因为这个数据库在一个asp程序中可以做模糊查询.难道是.net的限制或者BUG?还是我那里出错了?
有什么解决办法?总不能让我吧数据导到SQL上吧?只不过一个小工具.用Sql就难免..

解决方案 »

  1.   

    那那一句话抛得异常呢?Fill这句吗?
      

  2.   

    呵。。使用SQL最方便。
    我一直用。
    ACCESS不太喜欢。
      

  3.   

    呵。。使用SQL最方便。
    我一直用。
    ACCESS不太喜欢。
      

  4.   

    分页查询阿,你现在这样3.5W条记录一次性读到DataSet中,有什么意义呢 ?
      

  5.   

    回 timiil(小华) .我这样是吧查询结果读到DataSet上的吧?,我已经试验了吧数据库导入到Sql上.用这个方法就正常了.大家可否给指条明路?我不想用Sql那么小的一个东西用Sql不方便.
      

  6.   

    jamesfay(James Fay
    是的Fill异常了.
      

  7.   

    用access来存放大量数据? 访问途中都可能出现异常的.
      

  8.   

    那就用sqlite吧,至少我用两万条数据时没有问题
      

  9.   

    分个页试一下 如过几百条没问题的话 那就没几百个分个页
    另ACCESS 哪个版本?
      

  10.   

    : cdo? 用access来存放大量数据? 访问途中都可能出现异常的.
    *---------------------------------
    你做过实验么? 你所说的大量数据是多少 还请指教
    我用ACCESS2003做了个实验在两个表中用JOIN INNER 一个表是50 万数据另一个是80多万的数据
    在VB6中直接做查询SELECT * 也没出过什么问题文件大小是180MB左右
      

  11.   

    无法模拟你的环境,但我之前曾在access中直接用其查询做过类似的操作,大概有20万条记录自连接查询,基本上一运行就死机,估计access中数据太多容易出错,而且你在dataset中放这么多记录有意义吗?太占资源了,不如用datareader先读出后,根据要求有选择的填充要显示的记录到dataset中, 这样会好一点。
      

  12.   

    贴出详细的错误信息来推荐使用DataReader,如果不是什么复杂操作的话
      

  13.   

    请注意,like查询的字符中不能有'',不然出错的