ADOStored Proc. kullanarak hazırlamakta olduğum bi programda kayıt ekleyebiliyorum ancak kayıt güncellemek için yazdığım SP de şöyle bir hata msjı alıyorum;
Kodları aşağıda veriyorum. Yapılan iş "DBText.caption" da yazılı olan numarayı alacak ve SP ye parametre olarak gönderecek. SP nin işide o numaraya uyan @personelid nin verilerini formdakilerle değiştirecek..Project Project1.exe raised exception class EOleException with message 'Error converting data type varchar to int'. Process stopped. Use Step or Run to continue.
Kod: Tümünü seç
else if (DBText1.Caption<>'') then
Begin
//kayit güncelleme sp si seçiliyor..
ADOStoredProc1.Active:=false;
ADOStoredProc1.Connection:=ADOConnection1;
ADOStoredProc1.ProcedureName:='personelkayitguncelle';
//parametreleri sil ve yenilerini oluştur..
ADOStoredProc1.Parameters.Clear;
ADOStoredProc1.Parameters.AddParameter.Name:='@adi';
ADOStoredProc1.Parameters.ParamByName('@adi').DataType:=ftString;
ADOStoredProc1.Parameters.ParamByName('@adi').Direction:=pdInput;
ADOStoredProc1.Parameters.ParamByName('@adi').Size:=50;
ADOStoredProc1.Parameters.ParamByName('@adi').Value:=edit1.Text;
ADOStoredProc1.Parameters.AddParameter.Name:='@soyadi';
ADOStoredProc1.Parameters.ParamByName('@soyadi').DataType:=ftString;
ADOStoredProc1.Parameters.ParamByName('@soyadi').Direction:=pdInput;
ADOStoredProc1.Parameters.ParamByName('@soyadi').Size:=15;
ADOStoredProc1.Parameters.ParamByName('@soyadi').Value:=edit2.Text;
ADOStoredProc1.Parameters.addParameter.Name:='@bolum';
ADOStoredProc1.Parameters.ParamByName('@bolum').DataType:=ftString;
ADOStoredProc1.Parameters.ParamByName('@bolum').Direction:=pdInput;
ADOStoredProc1.Parameters.ParamByName('@bolum').Size:=14;
ADOStoredProc1.Parameters.ParamByName('@bolum').Value:=edit3.Text;
ADOStoredProc1.Parameters.addParameter.Name:='@deposorumlusu';
ADOStoredProc1.Parameters.ParamByName('@deposorumlusu').DataType:=ftString;
ADOStoredProc1.Parameters.ParamByName('@deposorumlusu').Direction:=pdInput;
ADOStoredProc1.Parameters.ParamByName('@deposorumlusu').Size:=5;
if CheckBox1.Checked=true then
begin
ADOStoredProc1.Parameters.ParamByName('@deposorumlusu').Value:='1';
end
else
begin
ADOStoredProc1.Parameters.ParamByName('@deposorumlusu').Value:='0';
end;
ADOStoredProc1.Parameters.addParameter.Name:='@personelid';
ADOStoredProc1.Parameters.ParamByName('@personelid').DataType:=ftSmallint;
ADOStoredProc1.Parameters.ParamByName('@personelid').Direction:=pdInput;
ADOStoredProc1.Parameters.ParamByName('@personelid').Size:=10;
ADOStoredProc1.Parameters.ParamByName('@personelid').Value:=StrToInt(DBText1.Caption);
ADOStoredProc1.ExecProc;
ADOTable1.CLOSE;
ADOTable1.Open;
end
yardımcı olacak arkadaşlara şimdiden teşekkürler..