access千古第一怪,世界第一奇,3天奈不何的世界第一难题


先说第一怪查询

开始一直按标准的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,FinallyDat

e)VALUES('";m_SQL+=UserInfo[0]+"','"+UserInfo[1]+"','"+UserInfo[2]+"','"+UserInfo[3]

+"','"+UserInfo[4]+"','"+UserInfo[5]+"','";m_SQL+=UserInfo[6]+"','"+UserInfo[7]

+"','"+UserInfo[8]+"')";

这个插入的SQL我不知用过多少次,但是现在确出错了,我真是莫名其抄呀

兄弟们帮心看看我该怎么办

[1093 byte] By [xidu007-我老婆无为呢?] at [2008-1-6]
# 1
你要知道你的那些数据字段的数据类型

字符型就必须加‘号

数字型就不需要

还有字符型的话,你必须要过虑掉里面的单引号,如果用参数的方式插入的话 就不需要
# 2
你的SchoolID是什么类型的,数值或自动编号的不需要加' ,字符的要加'
Net_2006-自由.Net at 2007-10-1 > top of Msdn China Tech,.NET技术,ASP.NET...
# 3
sqlserver 的会隐式的数据类型转换 ,ACCESS应该不行.

楼主不要急.应该多了解一下ACCESS与sqlserver的特性区别

airzen-airzen at 2007-10-1 > top of Msdn China Tech,.NET技术,ASP.NET...
# 4
access的自动编号字段不要加引号,
njrc-老虎藤 at 2007-10-1 > top of Msdn China Tech,.NET技术,ASP.NET...
# 5
m_SQL="INSERT INTO UsersTable

(UserName,Telephone,Mobile,Facsimile,EmailAddress,Position,SchoolID,SchoolName,FinallyDat

e)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",则你上面的语句就会出错,如果都不包含单引号,就正常,所有会有大部分情况都正常,但有时出错的情况
xingzhiyun-八宝齐 at 2007-10-1 > top of Msdn China Tech,.NET技术,ASP.NET...
# 7
如果LZ都知道这些道理还出错的话

那就真是奇怪了!^_^
dotnet_boy-男人本涩 at 2007-10-1 > top of Msdn China Tech,.NET技术,ASP.NET...
# 8
哈哈,你的标题很吸引
# 9

我就想知道这段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]+"')";

错误信息如下

# 10


还有所插入的所有字段都是字符串
# 11
我顶你个肺
# 12
顶你个肺
etilm-周贤 at 2007-10-1 > top of Msdn China Tech,.NET技术,ASP.NET...
# 13
我顶你个肺
# 14
我顶你个肺