Update Query hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
vipaydin
Üye
Mesajlar: 82
Kayıt: 23 Ara 2004 04:52

Update Query hatası

Mesaj gönderen vipaydin »

Merhaba Arkadaşlar.
Sql Server 2000 kullanıyorum.

Şu kodlarda ne gibi bir hata yapıyorum anlayamadım.

Kod: Tümünü seç

with AdoQuery3.SQL do
begin
Add('UPDATE AES_FIRM');
Add('SET');
Add('NUMBER='+MaskEdit1.Text+',');
Add('NAME='+MaskEdit2.Text+',');
Add('TITLE='+MaskEdit3.Text+',');
Add('STREET='+FirmaBilgi.MaskEdit4.Text+'');
Add('WHERE REF='+DBGrid1.SelectedField.Text+'');
AdoQuery3.ExecSQL;
Burada sorunlu olan STREET alanı. Kodda gördüğümüz gibi başka bir formdan bilgi geliyor.
FirmaBilgi formunda MaskEdit4.Text'te eğer herhangi bir değer varsa sorun yok.
Fakat MaskEdit4.Text'de herhangi bir değer yoksa şu hatayı alıyorum.
'Incorrect syntax near the keyword "WHERE"
Buradaki hatam nedir acaba?
Ayrıca burada Update ifadesinden değişiklikleri DBGrid'e yansıtmak için Query'i Close ve Open yapıyorum. DBGrid içeriği güncelleniyor ama daha sonra DBGrid'in en başına gidiyor. DBGrid içinde bilgi azsa sorun olmaz ama çok sayıda kayıt olduğu düşünülürse her seferinde başa gitmesi hoş olmuyor.
Update ifadesinden sonra güncel kayıtın üzerinde nasıl durabilirim?

Teşekkürler.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Virgül hatası olduğu açık.

Yapmanız gereken şey, veri varsa öncekine virgül ile bağlayıp satırı öyle eklemek... Örneğin...

Kod: Tümünü seç

with AdoQuery3.SQL do 
begin 
  Add('UPDATE AES_FIRM');
  Add('SET'); 
  Add('NUMBER='+MaskEdit1.Text); 
  If MaskEdit3.Text <> '' then Add(', TITLE='+MaskEdit3.Text); 
  If MaskEdit4.Text <> '' then Add(', STREET='+FirmaBilgi.MaskEdit4.Text); 
  Add('WHERE REF='+DBGrid1.SelectedField.Text+''); 
  AdoQuery3.ExecSQL; 
end;
... gibi...

// Ekleme // Sorunun devamını yeni gördüm...

- Update edilmeden önce kaydın Unique olan değerini bir değişkene alın. Mesela KayıtSıraNo'su varsa onu. Sonra Close/Open sonrasında bu kayda Locate ile konumlandırın.
Resim
Resim ....Resim
Cevapla