SQLQuery1.ApplyUpdates

Kylix, Lazarus, Freepascal ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Kullanıcı avatarı
MercilessTurk
Üye
Mesajlar: 94
Kayıt: 28 Eki 2005 10:14

SQLQuery1.ApplyUpdates

Mesaj gönderen MercilessTurk »

SQLQuery1.ApplyUpdates ile ilgili çözemediğim bir problem var. lazarusun forumlarında dolaştım en sonunda sorunu çözmüştüm ki bu defa projeyi yeni bir form ekleyince başka bir sorun çıktı.
İki form da da mysql u yönetmek için aynı bileşenleri ve kodları kullanmama rağmen ikinci form da mysql server syntax hatası dönderiyor. DBnavigator zaten çalışmıyor bende mecburen buttonlar ile yapıyorum database işlemlerini.

Kod: Tümünü seç

procedure TForm2.Button7Click(Sender: TObject);
begin
SQLQuery1.Post;
SQLQuery1.ApplyUpdates;
SQLTransaction1.Commit;
end;
Bu kod böyle bir hata dönderiyor:
"An error occured while applying the updates in a record: MySQL50Connection1:
Error executing query: You have an error in your SQL syntax; check
the manual corressponds to your MySQL server version for the right
syntax use near " at line1."

Sorun nedir benmi bişeyleri yanlış yapıyorum yoksa bu işlemleri yapmak için başka componentler mi kullanmalıyım?
Kullanıcı avatarı
selimr
Üye
Mesajlar: 556
Kayıt: 16 Eki 2003 02:07

Mesaj gönderen selimr »

sql yazılımında bir hata olduğunu söylüyor..
sql yazılılımında satır 1 de hata var diyor.. onu kontrol edin bence..
eğer sql kodunuzu buraya yazabilirseniz sorunu daha net anlayabiliriz..

anlayabildiğim kadarıyla sorun bu..
Kullanıcı avatarı
MercilessTurk
Üye
Mesajlar: 94
Kayıt: 28 Eki 2005 10:14

Mesaj gönderen MercilessTurk »

Cevap için teşekkürler. Sorunda o zaten syntax hatası olmamasına rağmen bu hatayı vermesi. Zaten form açılıp geçerli kayıt bilgilerini dbedit lerde listelenmesinden sonra sorguda hiç bir değişiklik yapmıyorum. Sorgumda hata olsa form açılırken hata vermesi gerekirdi diye düşünüyorum.
Hatayı vermeden hemen önce sql sorgusunu showmessage ile gösterdim.

Kod: Tümünü seç

procedure TForm2.Button7Click(Sender: TObject);
begin
SQLQuery1.Post;
ShowMessage(SQLQuery1.SQL.GetText);
SQLQuery1.ApplyUpdates;
SQLTransaction1.Commit;
end;  
sorgu olarak

Kod: Tümünü seç

SELECT * FROM HESAP WHERE M_ID=1
bunu gösteriyor zaten bu sorgu geçerli ve sonuç döndüren bir sorgu. PHPmyadmin aracılığıyla sorguda hata olup olmadığını da kontrol ettim.
Kullanıcı avatarı
MercilessTurk
Üye
Mesajlar: 94
Kayıt: 28 Eki 2005 10:14

Mesaj gönderen MercilessTurk »

Tamam hallettim sorun primary key ile ilgiliymiş.

Başlık açılmışken sorayım. Bir türlü indy10 bileşenlerini linux üzerinde lazarus a kuramadım. can't find IdGlobal gibi bir hata veriyor. Ayrıca indy/fpc klasörü içinde make all ve make install yaptığımda ise

Kod: Tümünü seç

Error: Target "linux", package "rtl" not found
make: *** [fpc_install] Hata 1
bu hatayı veriyor. Nasıl kurarız bu indy bileşenlerini?
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

İkinci soruyu soruya devam şeklinde değilde ayrı bir başlıkta sorarsanız daha uygun olur :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla