Silme İşlemi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Silme İşlemi
Selamünaleyküm arkadaşlar,
aşağıdaki kodun neresi hatalı olabilir yardımlarınız için şimdiden teşekkürler....
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
if not IBDataSet1.Active then
IBDataSet1.close;
IBDataSet1.Delete;
IBDataSet1.SelectSQL.Add('DELETE FROM DATA WHERE REF_NO='''+Edit23.Text+'''');
IBDataSet1.ExecSQL;
end;
aşağıdaki kodun neresi hatalı olabilir yardımlarınız için şimdiden teşekkürler....
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
if not IBDataSet1.Active then
IBDataSet1.close;
IBDataSet1.Delete;
IBDataSet1.SelectSQL.Add('DELETE FROM DATA WHERE REF_NO='''+Edit23.Text+'''');
IBDataSet1.ExecSQL;
end;
Re: Silme İşlemi
tırnakları elle yazmak yerine quotedstr kullanın kod daha temiz olur. diğer yandan diğer arkadaşın dediği gibi alanın integer olma ihtimalide vardenizfatihi yazdı:Selamünaleyküm arkadaşlar,
aşağıdaki kodun neresi hatalı olabilir yardımlarınız için şimdiden teşekkürler....
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
if not IBDataSet1.Active then
IBDataSet1.close;
IBDataSet1.Delete;
IBDataSet1.SelectSQL.Add('DELETE FROM DATA WHERE REF_NO='''+Edit23.Text+'''');
IBDataSet1.ExecSQL;
end;
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
if not IBDataSet1.Active then // Zaten kapalı dataseti
IBDataSet1.close; // Kapalı hale getiriyorsunuz
IBDataSet1.Delete; // Kapalı datasette silme işlemi yapıyorsunuz
IBDataSet1.SelectSQL.Add('DELETE FROM DATA WHERE REF_NO='''+Edit23.Text+''''); // Önceki sql stringini temizlemeden yeni sql stringi ekliyorsunuz. bu 4 satır yanlış
Doğru kod
If IBDataSet1.Active Then IBDataSet1.Close;
IBDataSet1.SelectSQL.Clear;
IBDataSet1.SelectSQL.Add('DELETE FROM DATA WHERE REF_NO='''+Edit23.Text+'''');
IBDataSet1.close; // Kapalı hale getiriyorsunuz
IBDataSet1.Delete; // Kapalı datasette silme işlemi yapıyorsunuz
IBDataSet1.SelectSQL.Add('DELETE FROM DATA WHERE REF_NO='''+Edit23.Text+''''); // Önceki sql stringini temizlemeden yeni sql stringi ekliyorsunuz. bu 4 satır yanlış
Doğru kod
If IBDataSet1.Active Then IBDataSet1.Close;
IBDataSet1.SelectSQL.Clear;
IBDataSet1.SelectSQL.Add('DELETE FROM DATA WHERE REF_NO='''+Edit23.Text+'''');
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
merhabalar
doğrusu
SelectSQL de Delete SQl cümleciği yanlış...IBDataSet1.SelectSQL.Add('DELETE FROM DATA WHERE REF_NO='''+Edit23.Text+'''');
doğrusu
Kod: Tümünü seç
IBDataSet1.DeleteSQL.Add('DELETE FROM DATA WHERE REF_NO='''+Edit23.Text+'''');
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
Re: Silme İşlemi
bu cevap biraz karışmış hangisi doğru olan kodu tam olarak paylaşabilirmisiniz..
ben aşağıdaki gibi ( belli bir şarta bağlı kayıtları örnek satışkodu 5 olanlar gibi ) bir silme işlemi yapıyorum.
Buradaki sorun silme işlemi bittikten sonra her seferinde select * from diyerek alanları tekrar seçiyor ve datayı kapatıp açıyorum.
Bunu yapmadan silmenin yolu varmı, bu şekilde kapatıp açarken başka bir kullanıcı o datayı kullanıyorsa sorun olmazmı.
Kod: Tümünü seç
IBDataSet1.DeleteSQL.Add('DELETE FROM DATA WHERE REF_NO='''+Edit23.Text+'''');
Kod: Tümünü seç
IBDataSet1.SelectSQL.Add('DELETE FROM DATA WHERE REF_NO='''+Edit23.Text+'''');
Buradaki sorun silme işlemi bittikten sonra her seferinde select * from diyerek alanları tekrar seçiyor ve datayı kapatıp açıyorum.
Bunu yapmadan silmenin yolu varmı, bu şekilde kapatıp açarken başka bir kullanıcı o datayı kullanıyorsa sorun olmazmı.
Kod: Tümünü seç
TTURDETAY.close;
TTURDETAY.SelectSQL.Clear;
TTURDETAY.SelectSQL.Text:='Delete from TURDETAY where SATISKODU='+QuotedStr(IntToStr(DataM.TTURSATISARTANKOD.AsInteger));
TTURDETAY.ExecSQL;
TTURDETAY.Close;
TTURDETAY.SelectSQL.Text:='select * from TURDETAY';
TTURDETAY.Open;