gpt4 book ai didi

mysql - 从 VB.NET 调用存储过程没有错误,但数据库中没有任何反应

转载 作者:行者123 更新时间:2023-11-29 19:21:22 25 4
gpt4 key购买 nike

我在使用 ADODB 库(Microsoft ActiveX 数据对象 6.1 库)从 VB.NET 调用存储过程时遇到一个小问题。

我有以下存储过程(从 MySQL 复制):

USE [DAB_Eindopdracht_DAB-TH]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[spAlterTypeVermogen]

@strModel as varchar(30),
@strType as varchar(30),
@intVermogen as int
AS
BEGIN
SET NOCOUNT ON;

DECLARE @inttblTypeID int
DECLARE @inttblModelID int
DECLARE @inttblModelTypeID int
SET @inttblTypeID = (SELECT ID FROM tblType WHERE strNaam = @strType)
SET @inttblModelID = (SELECT ID FROM tblModel WHERE strNaam = @strModel)
SET @inttblModelTypeID = (SELECT ID FROM tblModelType WHERE typeID = @inttblTypeID AND modelID = @inttblModelID)

-- Update QUERY
UPDATE tblModelType
SET intVermogen = @intVermogen
WHERE ID = @inttblModelTypeID
END

然后在我的 VB 代码中,我使用以下代码调用此存储过程:

Public Sub changeTypeVermogen(ByVal intVermogen As Int16, ByVal strType As String, ByVal strModel As String)
Dim cmdData As New ADODB.Command

cmdData.CommandText = "spAlterTypeVermogen"
cmdData.CommandType = ADODB.CommandTypeEnum.adCmdStoredProc
cmdData.Parameters.Append(cmdData.CreateParameter("strModel", ADODB.DataTypeEnum.adVarChar, ADODB.ParameterDirectionEnum.adParamInput, 30))
cmdData.Parameters.Append(cmdData.CreateParameter("strType", ADODB.DataTypeEnum.adVarChar, ADODB.ParameterDirectionEnum.adParamInput, 30))
cmdData.Parameters.Append(cmdData.CreateParameter("intVermogen", ADODB.DataTypeEnum.adInteger, ADODB.ParameterDirectionEnum.adParamInput))

connOpen()

cmdData.ActiveConnection = cnnDatabase
cmdData.Parameters(0).Value = strModel
cmdData.Parameters(1).Value = strType
cmdData.Parameters(2).Value = intVermogen
cmdData.Execute()

connClose()
end sub

现在我的问题是,当我从 MySQL 运行这个存储过程时,它工作得非常好,它完全按照我想要的方式执行。

但是当我从 VB 应用程序调用此过程时,什么也没有发生...它运行我的方法,根本不会生成任何错误,但它也不会更改我的数据库中的任何数据。我已经检查了变量的值,它们位于实际的数据库中......这意味着它应该能够完全完成查询。

有谁可以解释一下为什么没有任何反应吗? (并且没有出现错误)。难道我做错了什么?我错过了什么吗?提前致谢!

最佳答案

参数名称中需要包含@

  cmdData.CreateParameter("@strModel".....

关于mysql - 从 VB.NET 调用存储过程没有错误,但数据库中没有任何反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42422870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com