VB查询的问题,总是提示错误,帮忙啊

yxz32 2007-11-29 11:13:43
Set LocDb = OpenDatabase(App.Path & "\database\" & "fess.mdb", False, False)
SqlStr = "select * from Perd where Paid=" & "'" & i
SqlStr = SqlStr & ",PaNUm = " & k & "'"
Set LocRs = LocDb.OpenRecordset(SqlStr, dbOpenDynaset)
提示:标准表式中数据类型不匹配?!为什么啊?
大家帮忙看看,谢谢了!
...全文
30 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chyvlcy123 2007-11-30
"select * from Perd where Paid=" & i &" and PaNUm = '" + k "'"
好使 就给分吧
回复
yxz32 2007-11-30
谢谢,这就来试一下。
目前可以去顶SQL引用的值和字段的类型相符。
回复
of123 2007-11-30
首先要明确一个概念,SQL 命令是一个字符串。无论你连接的变量值是什么,命令发出时都要转成字符串。
第二,数据库引擎检查数据类型是否匹配,是根据数据值有无特定符号来判断的。单引号括起来是字符型,#号括起来是日期时间型。
第三,Where 字句的多个条件要用 And 连接。

你需要考虑你在 SQL 语句中引用的值的类型表达是否与字段的类型相符。

SqlStr = "select * from Perd where Paid= " & i & " and PaNUm = " & k
回复
chyvlcy123 2007-11-30
2L的 Pnum是String类型的 你不加单引号能行吗
回复
yxz32 2007-11-29
对了,其中的i为integer类型,k为string类型
不知道什么原因,总是报错。
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7451

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告