以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  函数可以参数化吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123510)

--  作者:happyft
--  发布时间:2018/8/16 15:18:00
--  函数可以参数化吗?
如:
cmd.CommandText = "Se lect * from dbo.ufn_cgrk_qty(\'" & e.DataRow("来源单号") & "\',\'" & e.DataRow("产品编码") & "\')"
改为:
\'cmd.CommandText = "Se lect * from dbo.ufn_cgrk_qty(?,?)"
\'cmd.Parameters.Add("@来源单号","\'" & e.DataRow("来源单号") & "\'")
\'cmd.Parameters.Add("@产品编码","\'" & e.DataRow("产品编码") & "\'")

上面是传递参数执行的表值函数,改成参数化应该怎么写,上面的写法出错?
谢谢!

--  作者:有点甜
--  发布时间:2018/8/16 15:29:00
--  

任何位置都可以。不要加单引号,你赋值是什么类型,自动会转换成什么类型。

 


Dim cmd As new SQLCommand
cmd.CommandText = "select * from {表A} where format(?, ?) = \'111.00\'"
cmd.Parameters.add("@abc", 111)
cmd.Parameters.add("@abcdefg", "0.00")
Dim dt = cmd.ExecuteReader
msgbox(dt.DataRows.count)