Veri tabanında Tarihi güncellemek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
cudyfoster
Üye
Mesajlar: 22
Kayıt: 14 Oca 2017 04:37

Veri tabanında Tarihi güncellemek

Mesaj gönderen cudyfoster »

Merhabalar. Yaptığım programda veritabanına kayıt ettiğim yanlış tarihleri düzenlemek istiyorum. Bunun için datetimepicker kullanıyorum. Ama güncelleme sırasında bir hata alıyorum. Kullandığım kodlar;

Duzenle_Query.Close;
Duzenle_Query.SQL.Text:='Update Turizm Set Rezerve_Tarih='+QuotedStr(DateTimePicker1.Date)+'
Where MusteriAd_Soyad='+QuotedStr(Musteri_Ad.Text)+'';
Duzenle_Query.Open;
MSQuery1.Refresh;
it seems in your anger you killed her...
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: Veri tabanında Tarihi güncellemek

Mesaj gönderen ertank »

Merhaba,

- Kullandığınız database uygulamasını belirtmemişsiniz.
- Aldığınız hata mesajını da belirtmemişsiniz.

Tahmine dayanarak: MS-SQL türkçe sistem üzerine yüne Türkçe kurulduğunda gün.ay.yıl gibi bir ifadeyi doğru tarhi olarak algılayabilir. Ancak yabancı dilde bir sistem üzerinde veya yabancı dil olarak kurulmuş ise veya FirebirdSQL gibi farklı bir sistem için Query içinde SQL standardında tarih bilgisi kullanılmalı.

Aşağıdaki şekilde deneyebilirsiniz.

Kod: Tümünü seç

Duzenle_Query.Close();
Duzenle_Query.SQL.Text := 'Update Turizm Set Rezerve_Tarih= ' + QuotedStr(FormatDateTime('yyyy-mm-dd', DateTimePicker1.Date)) + ' where MusteriAd_Soyad=' + QuotedStr(Musteri_Ad.Text);
Duzenle_Query.ExecSQL(); // Update, Insert benzeri geriye değer çevirmesi gerekmyen SQL komutları için ExecSQL() kullanılması daha doğrudur.
MSQuery1.Refresh();
ihalilcoban
Üye
Mesajlar: 121
Kayıt: 10 Ara 2015 10:39

Re: Veri tabanında Tarihi güncellemek

Mesaj gönderen ihalilcoban »

Güncelleme yapmadan önce ilgili Query içerisinde daha önceden kullanmış olduğun kodu temizlemen gerekiyor.

Kod: Tümünü seç

Duzenle_Query.Close;
Duzenle_Query.SQL.Clear;
Duzenle_Query.SQL.Text:='Update Turizm Set Rezerve_Tarih='+QuotedStr(DateTimePicker1.Date)+' 
Where MusteriAd_Soyad='+QuotedStr(Musteri_Ad.Text)+'';
Duzenle_Query.Open;
MSQuery1.Refresh;
Bu şekilde bir dener misin?
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: Veri tabanında Tarihi güncellemek

Mesaj gönderen ertank »

ihalilcoban yazdı:Güncelleme yapmadan önce ilgili Query içerisinde daha önceden kullanmış olduğun kodu temizlemen gerekiyor.

Kod: Tümünü seç

Duzenle_Query.Close;
Duzenle_Query.SQL.Clear;
Duzenle_Query.SQL.Text:='Update Turizm Set Rezerve_Tarih='+QuotedStr(DateTimePicker1.Date)+' 
Where MusteriAd_Soyad='+QuotedStr(Musteri_Ad.Text)+'';
Duzenle_Query.Open;
MSQuery1.Refresh;
Bu şekilde bir dener misin?
@ihalilcoban, Duzenle_Query.SQL.Text şeklinde atama yapıldığı zaman Duzenle_Query.SQL.Clear() çalıştırılmasına gerek yoktur. Eski içerik silinerek yeni değer atanacaktır.
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: Veri tabanında Tarihi güncellemek

Mesaj gönderen greenegitim »

Duzenle_Query.Open; değilde Duzenle_Query.execsQL; olması gerekiyor.
Mücadele güzelleştirir!
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2356
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Veri tabanında Tarihi güncellemek

Mesaj gönderen freeman35 »

Kod: Tümünü seç

Duzenle_Query.Close;
Duzenle_Query.SQL.Text:='Update Turizm Set Rezerve_Tarih=:Param_1 Where MusteriAd_Soyad='+QuotedStr(Musteri_Ad.Text)+'';
Duzenle_Query.ParamByName('Param_1').AsDate:= DateTimePicker1.Date;
Duzenle_Query.Execute;
MSQuery1.Refresh;
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Cevapla