先说第一怪查询开始一直按标准的SQL这样写但是一直不好用m_SQL="SELECT SchoolName,FinallyDate FROM School WHERE SchoolID='"+m_SchoolID+"'";//错误网友指点应该这样写m_SQL="SELECT SchoolName,FinallyDate FROM School WHERE SchoolID="+m_SchoolID;//通过于是按网友指点在下一个方还法这样写m_SQL="SELECT * FROM UserTable WHERE SchoolID="+m_SchoolID;//kaotama的错误于是改为m_SQL="SELECT * FROM UserTable WHERE SchoolID='"+m_SchoolID+"'";//又通过我操,这是什么垃圾,发誓这个完事后永不在用access这个垃圾更怪的是在插入的过程中同样奇怪m_SQL="INSERT INTO UsersTable(UserName,Telephone,Mobile,Facsimile,EmailAddress,Position,SchoolID,SchoolName,FinallyDate)VALUES('";m_SQL+=UserInfo[0]+"','"+UserInfo[1]+"','"+UserInfo[2]+"','"+UserInfo[3]+"','"+UserInfo[4]+"','"+UserInfo[5]+"','";m_SQL+=UserInfo[6]+"','"+UserInfo[7]+"','"+UserInfo[8]+"')";这个插入的SQL我不知用过多少次,但是现在确出错了,我真是莫名其抄呀兄弟们帮心看看我该怎么办

解决方案 »

  1.   

    你的SchoolID是什么类型的,数值或自动编号的不需要加' ,字符的要加'
      

  2.   

    sqlserver 的会隐式的数据类型转换 ,ACCESS应该不行.楼主不要急.应该多了解一下ACCESS与sqlserver的特性区别
      

  3.   

    access的自动编号字段不要加引号,
      

  4.   

    m_SQL="INSERT INTO UsersTable(UserName,Telephone,Mobile,Facsimile,EmailAddress,Position,SchoolID,SchoolName,FinallyDate)VALUES('";m_SQL+=UserInfo[0]+"','"+UserInfo[1]+"','"+UserInfo[2]+"','"+UserInfo[3]+"','"+UserInfo[4]+"','"+UserInfo[5]+"','";m_SQL+=UserInfo[6]+"','"+UserInfo[7]+"','"+UserInfo[8]+"')";这种代码很不可靠,如果UserInfo[1]中本身就包含有单引号,如UserInfo[1]="cct'v",则你上面的语句就会出错,如果都不包含单引号,就正常,所有会有大部分情况都正常,但有时出错的情况
      

  5.   


    我就想知道这段SQL如何修改让我能用,有一张表中我用的是同样的SQL没错,且它也有自动编号m_SQL="INSERT INTO UsersTable(UserName,Telephone,Mobile,Facsimile,EmailAddress,Position,SchoolID,SchoolName,FinallyDate)VALUES('";m_SQL+=UserInfo[0]+"','"+UserInfo[1]+"','"+UserInfo[2]+"','"+UserInfo[3]+"','"+UserInfo[4]+"','"+UserInfo[5]+"','";m_SQL+=UserInfo[6]+"','"+UserInfo[7]+"','"+UserInfo[8]+"')";错误信息如下