run prosessor stop Uyarısı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
klavye
Üye
Mesajlar: 4
Kayıt: 05 Nis 2004 01:07

run prosessor stop Uyarısı

Mesaj gönderen klavye »

ben amator delphi7 kullanicisiyim..database e yani basladim.delphide sql serveri kullaniyorum daha dogrusu kullanmaya calisyorum:)mesala bi kayit giren ekleyen,silen basit bi program yapiyorum.adoconnection,adoquery,datasource kullaniyorum.kod hissesini tamamladim.lakin exesinde insert yaparken run prosessor stop uyarisi veriyo.ben exe yi kapatip tekrar calistirdigimda yeni kayit eklenmis oluyo..bakiyorum ama sorunu bulamadim.yardim please..buarada araniza hos geldim:)umarim faydalanabilirim... :lol:
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

hoşgeldiniz. Lütfen forum kurallarını okuyunuz. Başlığı değiştirdim.
- Mesajınıza uygun ve konuyu özetleyen kısa bir başlık yazın. Acil, Çok Acil, Önemli gibi ifadeler veya konuyla alakasız bir başlık kullanmayın
Sorunuza gelince, kayıt eklemek için kullandığınız kodu gönderebilir misin?

Kolay gelsin.
Kullanıcı avatarı
klavye
Üye
Mesajlar: 4
Kayıt: 05 Nis 2004 01:07

Mesaj gönderen klavye »

Afedersiniz..tesekkur ediyorum..
SQLStr:String;
begin
SQLStr := 'INSERT INTO'+Yayinevi +'(YNo,YName,YAdress,YPhone,YHTTP,YEmail) VALUES (';
SQLStr := SQLStr+QuotedStr(edtYno.Text)+',';
SQLStr := SQLStr+QuotedStr(edtYname.Text)+',';
SQLStr := SQLStr+QuotedStr(edtYadr.Text)+',';
SQLStr := SQLStr+QuotedStr(edtYphone.Text)+',';
SQLStr := SQLStr+QuotedStr(edtYhttp.Text)+',';
SQLStr := SQLStr+QuotedStr(edtYemail.Text)+')';

SorguCalis(DataMdl.qrySQL, SQLStr);

ShowMessage('Kayit Kaydedildi..');

edtYno.SetFocus;

SQLStr := 'SELECT MAX(YRecNo) as MaxYRecNo FROM' + yayinevi;
SorguCalis(DataMdl.qrySQL , SQLStr);
YRecNo := DataMdl.qrySQL.Fields[0].AsInteger;

SQLStr := 'SELECT * FROM'+Yayinevi;
SQLStr := SQLStr +'ORDER BY YName ASC';
SorguCalis(DataMdl.qrySQL , SQLStr);


DataMdl.qrySQL.Locate('YRecNo', YRecNo, [loCaseInsensitive]);
umarim anlsiliyodur..table kullanmadim..tesekkurler
Kullanıcı avatarı
klavye
Üye
Mesajlar: 4
Kayıt: 05 Nis 2004 01:07

Mesaj gönderen klavye »

procedure SorguCalis(Sorgu : TAdoQuery; SQLStr : String);
begin
with Sorgu do
begin
Active := False;
SQL.Clear;
SQL.Add(SQLStr);

if LowerCase(Copy(SQLStr , 1 , Length('select'))) = 'select' then
Active := True
else
ExecSQL;
end;{with}
sorgu calis proceduru de bunu yapiyo..
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

ilk gözüme çarpan kelimeler arasında boşluk olayına dikkat etmemişsiniz. Mesela 'INSERT INTO'+Yayinevi yazmışsınız. Yayınevi'nin değeri 'ABC' olsun bu durumda komut INSERT INTOABC gibi geçersiz bir komut olacaktır.

Ben bu tip durumlarda hep oluşan SQL cümlesini kontrol ederim. Kayıt eklemeden önce, SorguCalis'in hemen üstüne ShowMessage(SQLStr) komutu ile oluşan SQL cümlesini gösterin. Bir bakın hata var mı?

Kolay gelsin.
Kullanıcı avatarı
klavye
Üye
Mesajlar: 4
Kayıt: 05 Nis 2004 01:07

Mesaj gönderen klavye »

ben ilk basta tablo adini yayinevi=' yayinevi ' diye bi sabit verdim.yani basina ve sonuna bosluk koydum..orda hata vermiyo..
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Admin yazdı:Ben bu tip durumlarda hep oluşan SQL cümlesini kontrol ederim. Kayıt eklemeden önce, SorguCalis'in hemen üstüne ShowMessage(SQLStr) komutu ile oluşan SQL cümlesini gösterin. Bir bakın hata var mı?
Evet bu iyi bir yontemdir. En deneyimli programcı bile runtime'da query'ye sql cümlesi oluşturmada hata yapar ve bu yontem de bu hatayı gormenin en kolay yoludur....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Cevapla