SQL中传参数问题,非常火急,在线等~

lsp69 2006-03-20 07:29:41
SQL语句中我用传参数的方式写:
Str1 = "insert into baseIheader(RecordIdentifier,TransactionType,invoicenumber,revision," _
& " status,invoicedata,shipmentterm,packinglist,mapsinvoicenumber," _
& " oceanfreight,cfs,terminalcharge,docfee,legalizationfee,otherfee,currency," _
& " totalamount,b_flag,b_submit) values('IH',@TransactionType1,@invoicenumber," _
& " @revision,@status,@invoicedata,@shipmentterm,@packinglist,@mapsinvoicenumber," _
& " @oceanfreight,@cfs,@terminalcharge,@docfee,@legalizationfee,@otherfee,@currency," _
& " @totalamount,'0','0')"

下面是设置参数值:
'建立参数表
Dim ObjCommand As New ADODB.Command
With ObjCommand
.ActiveConnection = DataE.Conne
.CommandText = Str1
.CommandType = adCmdText
.Parameters.Append ObjCommand.CreateParameter("@TransactionType1", adVarChar, adParamInput, 5)
.Parameters("@TransactionType1").Value = Combo1.Text
''''''''''''''''1
.Parameters.Append ObjCommand.CreateParameter("@invoicenumber", adVarChar, adParamInput, 28)
.Parameters("@invoicenumber").Value = Trim(Text1(0).Text) & Trim(Text1(2).Text)
.
.
.
.
.
.
End With

'执行:
ObjCommand.Execute
Set ObjCommand = Nothing
老是提示"@TransactionType1未声明",怎么回事呀!难道VB6中不能这样写么?
我在.net下这样写是可能通过的

十万火急


...全文
72 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
浩方软件HFWMS 2006-03-20
  • 打赏
  • 举报
回复
搞定了
谢谢faysky2()
faysky2 2006-03-20
  • 打赏
  • 举报
回复
多写了一个参数:

Dim ObjCommand As New ADODB.Command
With ObjCommand
.ActiveConnection = DataE.Conne
.CommandText = Str1
.CommandType = adCmdText
.Parameters(0).Value = Combo1.Text
.Parameters(1).Value = Trim(Text1(0).Text) & Trim(Text1(2).Text)
.Parameters(2).Value=......
'......
.Parameters(15).Value=...... '应该是从0到15
.Execute
End With

faysky2 2006-03-20
  • 打赏
  • 举报
回复
试试这样:

Str1 = "insert into baseIheader(RecordIdentifier,TransactionType,invoicenumber,revision," _
& " status,invoicedata,shipmentterm,packinglist,mapsinvoicenumber," _
& " oceanfreight,cfs,terminalcharge,docfee,legalizationfee,otherfee,currency," _
& " totalamount,b_flag,b_submit) values('IH',?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,'0','0')" '一共16个问号(参数)

Dim ObjCommand As New ADODB.Command
With ObjCommand
.ActiveConnection = DataE.Conne
.CommandText = Str1
.CommandType = adCmdText
.Parameters(0).Value = Combo1.Text
.Parameters(1).Value = Trim(Text1(0).Text) & Trim(Text1(2).Text)
.Parameters(2).Value=......
'......
.Parameters(16).Value=......
.Execute
End With




浩方软件HFWMS 2006-03-20
  • 打赏
  • 举报
回复
怎么没人回呀

1,216

社区成员

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

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