Aşağıdaki kod içinde select ile insert işelmi yaparken ayrıca select içinde parametre de kullanıyorum. ExecSQL kısmına geldiğinde Parametre nesnesi hatalı tanımlanmış uyumsuz veya eksik bilgiler verilmiş diye hata veriyor sebep olarak ne olabilir ?
İlginiz ve yardımınız için şimdiden teşekkürler.
Kod: Tümünü seç
procedure TForm17.BitBtn3Click(Sender: TObject);
begin
with ADOQuery2 do begin
Close ;
//insert;
SQL.Text := 'INSERT INTO DENKIZIN (STARIHI, SICIL,IDN,BASTARIHI,BITTARIHI,ISBASTARIH, KULLATARIH, GUN, TURU, DOSYA, UZ) ';
SQL.Text := 'VALUES (SELECT KTARIH,:SICIL, :IDN,:BASTARIHI,:BITTARIHI,:ISBASTARIH,:KULLATARIH, :GUN, :TURU, :DOSYA, :UZ FROM TARIH WHERE KTARIH BETWEEN :BASTARIHI AND :BITTARIHI)' ;
// Parameters.ParamByName('a1').value := datetostr(DateTimePicker1.DateTime); //starih
Parameters.ParamByName('SICIL').value :=Edit1.text; //sicil
Parameters.ParamByName('IDN').value :=Edit3.text; //idn
Parameters.ParamByName('BASTARIHI').value :=datetostr(DateTimePicker1.DateTime); //baslama
Parameters.ParamByName('BITTARIHI').value :=datetostr(DateTimePicker2.DateTime); //bitiş
Parameters.ParamByName('ISBASTARIH').value :=datetostr(DateTimePicker1.DateTime+1); //işbaşı
Parameters.ParamByName('KULLATARIH').value :=null; //kullanım tarihi
Parameters.ParamByName('GUN').value :=Edit3.text; //gün
Parameters.ParamByName('TURU').value :=Edit4.text; //türü
Parameters.ParamByName('DOSYA').value :=''; //image alan
Parameters.ParamByName('UZ').value :=Edit7.text; //uzantı
// Parameters.ParamByName('a12').value :='1'; //uzantı
ExecSQL;
Close; // Hata mesajının verildiği yer
SQL.Text:= 'SELECT * FROM DENKIZIN';
Open;
end;