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;
Veri tabanında Tarihi güncellemek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 22
- Kayıt: 14 Oca 2017 04:37
Veri tabanında Tarihi güncellemek
it seems in your anger you killed her...
Re: Veri tabanında Tarihi güncellemek
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.
- 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();
-
- Üye
- Mesajlar: 121
- Kayıt: 10 Ara 2015 10:39
Re: Veri tabanında Tarihi güncellemek
Güncelleme yapmadan önce ilgili Query içerisinde daha önceden kullanmış olduğun kodu temizlemen gerekiyor.
Bu şekilde bir dener misin?
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;
Re: Veri tabanında Tarihi güncellemek
@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.ihalilcoban yazdı:Güncelleme yapmadan önce ilgili Query içerisinde daha önceden kullanmış olduğun kodu temizlemen gerekiyor.Bu şekilde bir dener misin?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;
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: Veri tabanında Tarihi güncellemek
Duzenle_Query.Open; değilde Duzenle_Query.execsQL; olması gerekiyor.
Mücadele güzelleştirir!
Re: Veri tabanında Tarihi güncellemek
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 !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!