0
Visual BasicでストアドプロシージャをDB2データベースから呼び出そうとしています。私はVisual Basicコードからパラメータとして変数からの入力を送信し、出力を取得してVBコードの変数に入れたいと思います。コードは、私がこれまで持って、私はここでは、IBM.Data.DB2をインポートしています私のVBコードでVisual Basicを使用してDB2ストアドプロシージャを呼び出す方法は?
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
されています:
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
私はどこにわからないんだけど、ここで私の店のプロシージャのコードですそこから行く。
ここからですか? 'cmd.Execute'を追加してみてください。また、VBはVBAとは異なります。後者は主にMS Office製品で動作します。それに応じてタグを付けてください。 – Parfait
パラメータを最初に追加するparam = new sqlparameter( "p_vendor_name"、)param.direction = cmd.parameters.add(param)などを入力して、出力パラメータの方向を変更する –