关于VB中数据库插入

avl1981 2005-03-01 11:57:04
这里我先做了个类模块:
CPBB
其中有个insert()函数
Public Sub Insert(ByVal Tmptime As String, ByVal Tmpid As String)
Dim SQLstmt As String
DB_Connect
SQLstmt = "INSERT INTO cprbb (Pro_Id, Pro_Name, Pro_Zsl, Pro_Zje, Pro_Time) SELECT c.Pro_Id, c.Pro_Name, SUM(c.Pro_Rcsl) AS 入库数量, SUM(c.Zje) AS 入库金额,c.Pro_Rksj FROM cprk c INNER JOIN basis b ON c.Pro_Id = b.Pro_Id WHERE (c.Pro_Rksj = '" + Trim(Tmptime) + "')and (c.Pro_Id= '" + Trim(Tmpid) + "') GROUP BY c.Pro_Id, c.Pro_Name, c.Pro_Rksj ORDER BY c.Pro_Id"
OdbcExt (SQLstmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub

然后我在主程序中调用
为什么我输入
Mycpbb.Insert (Tmptime,Tmpid)的时候就报错,说缺少“=”号
而输入Mycpbb.Insert (Tmptime)的时候就可以 (当然,类模块中也只能有一个变量)
是不是不能定义两个变量

在线等 加急
希望解答详细些
谢谢
...全文
138 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
noaskme 2005-03-01
  • 打赏
  • 举报
回复
是不是因为and前边没有空格?
2个参数是绝对可以的,你可以加个断点,把SQLstmt 打印出来,放到数据库查询器执行一下,找一下语句的毛病,按照你说的应该是加第二个条件的时候语法出错了
mndsoft 2005-03-01
  • 打赏
  • 举报
回复
http://www.mndsoft.com/blog/default.asp
lsftest 2005-03-01
  • 打赏
  • 举报
回复
lsftest@163.com
============
寄过来我帮你调试(带示例数据库)..............
qdhuxp 2005-03-01
  • 打赏
  • 举报
回复
Call Mycpbb.Insert (Tmptime,Tmpid)
即可
noaskme 2005-03-01
  • 打赏
  • 举报
回复
你输入Mycpbb.Insert (Tmptime,Tmpid)好像不行,要输入Mycpbb.Insert Tmptime,Tmpid
不能带括号
noaskme 2005-03-01
  • 打赏
  • 举报
回复
我刚试了,能行的
Private Sub Command1_Click()
Dim obj As Class1
Set obj = New Class1
obj.Insert "a", " b"
End Sub

类名为class1,其中代码如下:
Public Sub Insert(ByVal a As String, ByVal b As String)
MsgBox "ok"
End Sub

点击按钮,出现msgbox
wshlxvb 2005-03-01
  • 打赏
  • 举报
回复
如果实在不行就用addnew添加吧。不过小弟有个建议,你的分号有没有输入法的问题?你可以重新换换分号。我曾经犯过用五笔加加的输入法的分号,结果就报错,但不是你的错误类型
avl1981 2005-03-01
  • 打赏
  • 举报
回复
这到底是怎么个回事
不是SQL语句的问题
好象就是VB函数的问题
avl1981 2005-03-01
  • 打赏
  • 举报
回复
不是这个问题
我就些了个空模块
就是:Public Sub Insert(ByVal Tmptime As String, ByVal Tmpid As String)
end sub

然后再调用,还是一样出了问题
就是好象不能用两个参数似的
lsftest 2005-03-01
  • 打赏
  • 举报
回复
也可能是noaskme(自在飞花)兄说的问题,留意:
(c.Pro_Rksj = '" + Trim(Tmptime) + "')and (c.Pro_Id= '" + Trim(Tmpid) + "')

and 之前真的没有加空格....
lsftest 2005-03-01
  • 打赏
  • 举报
回复
你在OdbcExt (SQLstmt)之前先:

debug.print sqlstmt

看看是不是你要的查询语句????

另外,看看你的id字段是什么类型的?我看到你上面用引号括住了id字段,如果id是数值型会出错.
avl1981 2005-03-01
  • 打赏
  • 举报
回复

这个问题就没有人可以回答吗

avl1981 2005-03-01
  • 打赏
  • 举报
回复
我在数据库查询器中,是绝对可以执行的,这两个参数我是用具体数代替的
但是,我放到VB中就报错
急死了

7,762

社区成员

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

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