【问题标题】:VB6 More than 10 parameters for stored procedureVB6 10多个存储过程参数
【发布时间】:2019-07-25 08:22:51
【问题描述】:

当我尝试插入超过10个的参数时,我在vb6中遇到问题,下面的9个都可以。

当我尝试从 '@1' 到 '@9' 很好,输出将是 strsql = '1st value'...'9th value',但是当我使用 10 参数时它输出 strsql = '@1 '...'@10'

Set rsOR = New ADODB.Recordset
    strSql = SQLParams("DB..sp_Insert '@1','@2','@3','@4','@5','@6','@7','@8','@9','@10'", cbPayor.Text, "COLLECTION", txtORCol.Text, dtCol.Value, UserID, CollectionType, txtAmountCol.Text, "PHP", dtColCash.Value, txtCheque.Text)
    clsSession.Execute strSql, rsOR

使用没有错误

'@1'...'@9'
FROM: strSql = SQLParams("DB..sp_Insert '@1',...,'@9'", cbPayor.Text, "COLLECTION")

输出:strsql "DB..sp_Insert 'text here',.... ,'COLLECTION'

使用错误

'@1'...'@10'
FROM: strSql = SQLParams("DB..sp_Insert '@1',...,'@10'", cbPayor.Text, "COLLECTION")

输出:strsql "DB..sp_Insert '@1'...'@10'

【问题讨论】:

  • 所以你有一个函数SQLParams,即concatenates parameters into the query。显然该函数不支持超过 9 个参数。不使用该功能的另一个原因。
  • 嗯,也许吧。我真的不知道,因为我是一个新程序员,而且大部分东西都没有被认可。
  • 顺便感谢您的回复,我发现我应该使用字母,通过单击定义它有一些文档/评论。
  • @Alphatrix 一般来说,新员工会提出问题,以便在新环境中变得熟悉和高效。请尝试询问您的同事、您的经理、您的上级等。

标签: sql-server vb6


【解决方案1】:

经过一番谷歌搜索后,我发现了这个(应该没有 9 个字段限制):

Dim strSQL As String
Dim cmd As New ADODB.Command

strSQL = "UPDATE MyTable SET " & vbNewLine _
& " NEEDS_ID = @NEEDS_ID, " & vbNewLine _
& " OBJ_ID = @OBJ_ID, " & vbNewLine _
& " OBJ_COMMENTS = @OBJ_COMMENTS, " & vbNewLine _
& " TIME21_ID = @TIME21_ID, " & vbNewLine _
& " WHERE ID = @WHEREID"

With cmd
    .ActiveConnection = Cn
    .CommandText = strSQL
    .Parameters.Append .CreateParameter("@NEEDS_ID", adInteger, adParamInput, 2, 12)
    .Parameters.Append .CreateParameter("@OBJ_ID", adInteger, adParamInput, 2, 23)
    .Parameters.Append .CreateParameter("@OBJ_COMMENTS", adVarChar, adParamInput, 250, "Some text")
    .Parameters.Append .CreateParameter("@TIME21_ID", adInteger, adParamInput, 2, 34)
    .Parameters.Append .CreateParameter("@WHEREID", adInteger, adParamInput, 18, 456)
    .Execute
End With 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-18
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    • 2018-10-31
    相关资源
    最近更新 更多