操作数据库时(用odbc),可以添加,但是删除(Delete)时有错,
弹出对话框提示“查询过于复杂   。”。
跟踪内部CDBException:State:S1000,Native:-3071....
我查了msdn,  
-3071    Query too complex; push expressions into UDFs and reduce               
number of columns,                                                             
我的column有140个,嫌多?有这原因马?有没有谁也碰到这种事?请指教!             
3X

解决方案 »

  1.   

    你的数据库表设计得竞然有140列,一般的表最多四、五十列就很多了。分析你的数据库设计,进行更加的设计,比你在技术上解决这个问题更好。另外,提问时,写出你的Query 语句,可以让大家很快帮助你呀。
      

  2.   

    理论上数据库的设计支持多列,但是ACCESS本身具有局限性,你减少你的表的列数,问题就能解决
      

  3.   

    打开:
        .open(CRecordset::snapshot,"select * from motordbl ");
    找到指定纪录:
         ....
    删除:
        .Delete();//出错了
    另外,我发现,添加.Add()是可以工作的
    .Detete(),.Edit()都不能正常工作,会出现同样错误
      

  4.   

    应该不会因为列数出问题,我曾经用过access数据库列数有159列都没问题。
      

  5.   

    可以但我得找找,是以前的程序了,但我记得很清楚(这么变态的表能不清楚吗,hehe )