为什么插入值不变?

beckham1122 2004-03-24 11:44:22
For b = 1 To 8
Dim Str As String
Str = CStr(b)

Set Par = com.CreateParameter("@num", adVarWChar, adParamInput, 20, Str)
com.Parameters.Append Par
com.CommandText = "insert into 年级临时表(节数) values(@Num)"
com.Execute
next
但始终都插入的是1
...全文
53 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
beckham1122 2004-03-24
  • 打赏
  • 举报
回复
那在调用存储过程的时候,参数值是变化的,也是一样的道理啊,那不是每变化一次就 要一个参数?
beckham1122 2004-03-24
  • 打赏
  • 举报
回复
不至于要多个参数吧
victorycyz 2004-03-24
  • 打赏
  • 举报
回复

str在每次循环的时候肯定会随b的值而变,问题是你的参数集合每次都是定义同样名称的元素,那当然不对了。要用8个不同的参数,或者用str=str & "," & cstr(b)的方式扩充值。
lilaclone 2004-03-24
  • 打赏
  • 举报
回复
你Command对象的用法有问题,应该这样使用

Dim adoCmm As Command
adoCmm.Parameters.Append adoCmm.CreateParameter("@TestName", adVarChar, adParamInput, 255, mvarCaseName)

adoCmm.CommandText = "update TestModel set TestName=? Where TestID=1"
adoCmm.Execute
beckham1122 2004-03-24
  • 打赏
  • 举报
回复
非常高兴,我已经弄出来了。还是谢谢各位。
beckham1122 2004-03-24
  • 打赏
  • 举报
回复
43720938(浪人!)
我试过了,还是不行啊。哪位高手能够指点,谢谢
43720938 2004-03-24
  • 打赏
  • 举报
回复
你试一下这样行不行。
Set cmdpara = cmdCommand.CreateParameter("code", adVarChar, adParamInput, 50)
cmdCommand.Parameters.Append cmdpara
cmdCommand.Parameters("code").Value = Str

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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