command参数值的问题。

vileboy 2003-11-26 01:51:08
我在vb前台传参数到sql server,参数的类型是varchar,前台传过去的是“6”,但是到了sql server确变了,变成了“273265528”。这怎么解决啊。
...全文
83 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengdali 2003-11-28
  • 打赏
  • 举报
回复
private sub
dim inSN as string '假定你用的序列号为字符串
dim outRet as long '假定你用的返值为整型
dim cnn as new connection
dim cmd as new command
dim param1 as new parameter
dim param2 as new parameter

on error goto Err
//建立数据库连接
cnn.connectionstring=你要的连接串
cnn.open
set cmd.activeconnection=cnn
//设置命令对象
cmd.commandtype=adcmdstoredprocedure
cmd.commandtext=你写的存储过程名
//添加参数对象
set param1=cmd.createparameter("insn",advarchar,adparaminput,50,inSN)
set param2=cmd.createparameter("RetVal",adinteger,adparamoutput)
cmd.parameters.append param1
cmd.parameters.append param2
//执行之
cmd.execute
//得到结果

OutRet=clng(param2) '得到你想要的返回值

exit sub
Err:
msgbox err.number & err.descrpition
end sub
zjcxc 2003-11-28
  • 打赏
  • 举报
回复
'试试用下面的方法.
.CommandText = "po_oc_stock_compare_amount"
.CommandType = adCmdStoredProc
.ActiveConnection = gCnn
.Parameters.Refresh
.Parameters("@order_id")=gVleStr.DLStr(flxOc_stockItm.TextMatrix(intI, 0))
.Parameters("@is_over")="yes"
.Parameters("@amount") = "6"
.Execute
vileboy 2003-11-26
  • 打赏
  • 举报
回复
下面是代码:
.CommandText = "po_oc_stock_compare_amount"
.CommandType = adCmdStoredProc
.ActiveConnection = gCnn
'.Parameters.Refresh
.Parameters.Append .CreateParameter("order_id", adVarChar, adParamInput, 50, txtStocID_vch)
.Parameters.Append .CreateParameter("mate_id", adVarChar, adParamInput, 50)
.Parameters.Append .CreateParameter("amount", adVarChar, adParamInput, 50)
.Parameters.Append .CreateParameter("is_over", adVarChar, adParamOutput, 50, "")
com("mate_id") = gVleStr.DLStr(flxOc_stockItm.TextMatrix(intI, 0))
com("amount") = "6"
com("is_over") = "yes"
com.Execute

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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