Ich versuche, eine Speicherprozedur in Visual Basic von einer DB2-Datenbank aufzurufen. Ich möchte die Eingabe von einer Variablen als einen Parameter aus meinem Visual Basic-Code senden und die Ausgaben nehmen und sie in Variablen in meinem VB-Code einfügen. Hier ist mein Speicher-Prozedur-Code:Wie Sie eine gespeicherte DB2-Prozedur mit Visual Basic aufrufen?
CREATE PROCEDURE VendorPROCEDURE (IN p_vendor_name VARCHAR(50),
OUT p_name VARCHAR(25),
OUT p_company_name VARCHAR(50),
OUT p_address VARCHAR(25),
OUT p_csz VARCHAR(50),
OUT p_phone CHAR(13))
DYNAMIC RESULT SETS 1
P1: BEGIN
DECLARE v_name VARCHAR(25);
DECLARE v_company_name VARCHAR(50);
DECLARE v_address VARCHAR(25);
DECLARE v_csz VARCHAR(50);
DECLARE v_phone CHAR(13);
SELECT RTRIM(REP_F_NAME || ' ' || REP_L_NAME), COMPANY_NAME, STREET,
RTRIM(CITY || ', ' || STATE || ' ' || VENDOR.ZIP_CODE) AS CSZ, PHONE_NUM
INTO v_name, v_company_name, v_address, v_csz, v_phone
FROM SALES_REP, VENDOR, ZIP
WHERE SALES_REP.REP_NUM = VENDOR.REP_NUM
AND ZIP.ZIP_CODE = VENDOR.ZIP_CODE
AND COMPANY_NAME = p_vendor_name;
SET p_name = v_name;
SET p_company_name = v_company_name;
SET p_address = v_address;
SET p_csz = v_csz;
SET p_phone = v_phone;
END P1
In meinem VB-Code Ich bin IBM.Data.DB2 importieren und hier ist der Code, ich habe bisher:
Dim vendorName As String
vendorName = Vendor_ComboBox.Text
cmd = connectionstring.CreateCommand()
connectionstring.Open()
Dim trans As DB2Transaction = connectionstring.BeginTransaction()
cmd.Transaction() = trans
Dim reader As DB2DataReader
Dim procName As String = "VENDORPROCEDURE"
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = procName
Ich bin nicht sicher, wo geh von dort.
Gehen Sie von hier? Versuchen Sie, 'cmd.Execute' hinzuzufügen. Außerdem unterscheidet sich VB von VBA. Letzteres läuft hauptsächlich in MS Office-Produkten. Bitte markieren Sie entsprechend. – Parfait
fügen Sie Ihre Parameter zuerst hinzu param = new sqlparameter ("p_vendor_name", ) param.direction = Geben Sie cmd.parameters.add (param) ein und ändern Sie die Richtung für Ausgabeparameter –