我正在开发用于调用Microsoft SQL Server函数的Visual Basic 6代码,但是......我无法让它工作......
T-SQL代码:
ALTER FUNCTION [dbo].[fnRutaFichero](@ID_FICHERO VARCHAR(256))
RETURNS varchar(256)
AS
.
.
.
RETURN (@rutaFichero)
END
VB6代码:
Set cnn = New ADODB.Connection
cnn.ConnectionString = cStrConn
cnn.Open "File Name=" & App.Path & "\Config\VCH2.udl;"
Set cmd = New ADODB.Command
cmd.ActiveConnection = cnn
cmd.CommandTimeout = 15
cmd.CommandType = adCmdText
cmd.CommandText = "SELECT fnRutaFichero(@ID_FICHERO)"
cmd.Parameters.Append cmd.CreateParameter("@ID_FICHERO", adVarChar, adParamInput, , "VCH2")
cmd.Execute
我不明白如何完成这项任务......
...谢谢
答案 0 :(得分:0)
通常你会发一个命令=一个resordset。
Set objRs = objCmd.Execute
以下是程序员指南http://msdn.microsoft.com/en-us/library/windows/desktop/ms675065(v=vs.85).aspx
根据文档http://msdn.microsoft.com/en-us/library/windows/desktop/ms677502(v=vs.85).aspx,并非所有命令都可以通过ADODB完成。
使用Command对象查询数据库并返回Recordset对象中的记录,执行批量操作或操纵数据库的结构。根据提供程序的功能,某些Command集合,方法或属性在引用时可能会生成错误。
答案 1 :(得分:0)
您需要在参数列表中添加返回值,并且必须包含VarChar字段的大小:
cmd.Parameters.Append cmd.CreateParameter("@rutaFichero", adVarChar, adParamReturnValue, 256)
cmd.Parameters.Append cmd.CreateParameter("@ID_FICHERO", adVarChar, adParamInput, 256, "VCH2")