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)
提示:标准表式中数据类型不匹配?!为什么啊?
大家帮忙看看,谢谢了!
...全文
73 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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类型
不知道什么原因,总是报错。

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧