私は MySql 、 Delphi を使用しています。以下のコードで何が間違っていますか??
「where 句の不明な列 'x'」エラーが表示されます --> 'where 句' の不明な列 '_code_ehda_konandeh' が必要です。私はこのプロジェクトを2日後にしなければなりません........
DELIMITER $$
USE `bimarestan`$$
DROP PROCEDURE IF EXISTS `Save_Ehda_Konande`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `Save_Ehda_Konande`(
IN _code_ehda_konandeh VARCHAR(50),
IN _tarikh_moarefi VARCHAR(50),
IN _tarikh_tashkil_parvandeh VARCHAR(50),
IN _name VARCHAR(50),
IN _name_khanevadegi VARCHAR(50),
IN _name_pedar VARCHAR(50),
IN _tarikh_tavalod VARCHAR(20),
IN _tahsilat VARCHAR(50),
IN _vaziyat_taahol VARCHAR(50),
IN _noe_bimeh VARCHAR(50),
IN _gorooh_khoon VARCHAR(50),
IN _rezayat_dahandeh VARCHAR(50),
IN _shoghl VARCHAR(50),
IN _address VARCHAR(50),
IN _telphone VARCHAR(50),
OUT _out INT)
BEGIN
IF LTRIM(RTRIM(_code_ehda_konandeh))<>'' THEN
BEGIN
SET _out = 0;
IF NOT EXISTS(SELECT * FROM bimar WHERE `_code_ehda_konandeh` = `code_ehda_konandeh`) THEN
INSERT INTO `ehda_konandeh` (
code_ehda_konandeh,
tarikh_moarefi,
tarikh_tashkil_parvandeh,
NAME,
name_khanevadegi,
name_pedar,
tarikh_tavalod,
tahsilat,
vaziyat_taahol,
noe_bimeh,
gorooh_khoon,
rezayat_dahandeh,
shoghl,
address,
telphone)
VALUES(
_code_ehda_konandeh,
_tarikh_moarefi,
_tarikh_tashkil_parvandeh,
_name,
_name_khanevadegi,
_name_pedar,
_tarikh_tavalod,
_tahsilat,
_vaziyat_taahol,
_noe_bimeh,
_gorooh_khoon,
_rezayat_dahandeh,
_shoghl,
_address,
_telphone
);
ELSE
SET _out = 1;
END IF;
END;
END IF;
END$$
DELIMITER ;
MySqlでストアドプロシージャを実行しても問題はありませんが、デルファイパラメータをそれに送信したい場合、エラーが発生します!!
これは私のデルファイコードです:
if flag_new_edit = 1 then
sp_sabt.StoredProcName := 'Save_Ehda_Konande'
else
sp_sabt.StoredProcName := 'Edit_Ehda_Konande';
With sp_sabt Do
Begin
ParamByName('_code_ehda_konandeh').Value := Trim(txt_code_ehda_konande.Text);
ParamByName('_tarikh_moarefi').Value := Trim(txt_tarikh_tavalod.Text);
ParamByName('_tarikh_tashkil_parvandeh').Value := Trim(txt_name_khanevadegi.Text);
ParamByName('_name').Value := Trim(txt_name.Text);
ParamByName('_name_khanevadegi').Value := Trim(txt_name_khanevadegi.Text);
ParamByName('_name_pedar').Value := Trim(txt_name_pedar.Text);
ParamByName('_tarikh_tavalod').Value := Trim(txt_tarikh_tavalod.Text);
ParamByName('_tahsilat').Value := Trim(cmb_tahsilat.Text);
ParamByName('_vaziyat_taahol').Value := Trim(cmb_vaziyat_taahol.Text);
ParamByName('_noe_bimeh').Value := Trim(cmb_noe_bime.Text);
ParamByName('_gorooh_khoon').Value := Trim(cmb_gorooh_khoon.Text);
ParamByName('_rezayat_dahandeh').Value := Trim(txt_rezayat_dahande.Text);
ParamByName('_shoghl').Value := Trim(txt_shoghl.Text);
ParamByName('_address').Value := Trim(txt_adress.Text);
ParamByName('_telphone').Value := Trim(txt_tel.Text);
ExecProc;
End;
よろしく