Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
INSERT INTO İle Kayit
#1
Arkadaşlar Merhaba;
INSERT INTO ile kayıt yapmaya çalışıyorum ama "Edit1.Text, Edit2.Text ve DateTimePicker1 ve DateTimePicker2" bunlar hep boş atıyor bir türlü veriyi yazdıramadım yardımcı olabilir misiniz?



LisansKayit.SQL.Clear;
with LisansKayit do begin
LisansKayit.Close;
SQL.Text:='INSERT INTO LISANS (ID,GLNKILIT,GDNKILIT,VDAIRE,VNO,UNVAN,ACIKLAMA,KULLSAY,BASTARIHI,LEMTARIHI,EMP1,EMP2,EMP3,EMP4,EMP5,' +
                     'EMP6,EMP7,EMP8,EMP9,EMP10,EMP11,EMP12,NTS1,NTS2,NTS3,NTS4,NTS5,NTS6,NTS7,NTS8,NTS9,NTS10,NTS11,' +
                     'NTS12,NTS13,NTS14,NTS15,NTS16,NTS17,NTS18,NTS19,NTS20,MODTUT,TOPTUT,KDVTUT,KDVORAN,GENELTOP,LEMTUT)' +
                     'VALUES (:' + DBEdit1.Text +', :' +DBEdit2.Text +','+#39+''+Edit1.text+''+#39+', :'+ Edit2.Text +',:'+ DBEdit3.Text +'' +
                     ':' + DBEdit4.Text +',:' + DateTimePicker1.Format +',:' + DateTimePicker2.Format +',:' + DBCheckBox1.ValueChecked +',:' + DBCheckBox2.ValueChecked +'' +
                     ':' + DBCheckBox3.ValueChecked +',:' + DBCheckBox4.ValueChecked +',:' + DBCheckBox5.ValueChecked +',:' + DBCheckBox6.ValueChecked +',:' + DBCheckBox7.ValueChecked +'' +
                     ':' + DBCheckBox8.ValueChecked +',:' + DBCheckBox9.ValueChecked +',:' + DBCheckBox10.ValueChecked +',:' + DBCheckBox11.ValueChecked +',:' + DBCheckBox12.ValueChecked +'' +
                     ':' + DBCheckBox13.ValueChecked +',:' + DBCheckBox14.ValueChecked +',:' + DBCheckBox15.ValueChecked +',:' + DBCheckBox16.ValueChecked +',:' + DBCheckBox17.ValueChecked +'' +
                     ':' + DBCheckBox18.ValueChecked +',:' + DBCheckBox19.ValueChecked +',:' + DBCheckBox20.ValueChecked + ')';
LisansKayit.ExecSQL;
//LisansKayit.Close;
LisansKayit.Open;
End;
End;
End;
Cevapla
#2
QuotedStr icine almaniz lazim hocam str ve date turu ifadeleri.
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#3
Merhaba , "QuotedStr" almama rağmen yine kaydetmedi. Sadece "DBEdit" alanlarını ve "CheckBox" ları kaydediyor, ve alanlar birbirine de karşılık geliyor ona da dikkat ettim ama yine de olmadı.


LisansKayit.SQL.Clear;
with LisansKayit do begin
LisansKayit.Close;
SQL.Text:='INSERT INTO LISANS (VDAIRE,VNO,GLNKILIT,GDNKILIT,,UNVAN,ACIKLAMA,MODTUT,KULLSAY,ID,BASTARIHI,LEMTARIHI,EMP1,EMP2,EMP3,EMP4,EMP5,' +
                     'EMP6,EMP7,EMP8,EMP9,EMP10,EMP11,EMP12,NTS1,NTS2,NTS3,NTS4,NTS5,NTS6,NTS7,NTS8,NTS9,NTS10,NTS11,' +
                     'NTS12,NTS13,NTS14,NTS15,NTS16,NTS17,NTS18,NTS19,NTS20,TOPTUT,KDVTUT,KDVORAN,GENELTOP,LEMTUT)' +
                     'VALUES ('+DBEdit1.text+','+DBEdit2.text+','+QuotedStr(Edit1.text)+','+QuotedStr(Edit2.text)+','+ DBEdit3.Text +'' +
                     ''+ DBEdit4.Text +','+ QuotedStr(FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date)) +',:' + QuotedStr(FormatDateTime('yyyy-mm-dd',DateTimePicker2.Date)) +'' +
                     ':' + DBCheckBox1.ValueChecked +',:' + DBCheckBox2.ValueChecked +'' +
                     ':' + DBCheckBox3.ValueChecked +',:' + DBCheckBox4.ValueChecked +',:' + DBCheckBox5.ValueChecked +',:' + DBCheckBox6.ValueChecked +',:' + DBCheckBox7.ValueChecked +'' +
                     ':' + DBCheckBox8.ValueChecked +',:' + DBCheckBox9.ValueChecked +',:' + DBCheckBox10.ValueChecked +',:' + DBCheckBox11.ValueChecked +',:' + DBCheckBox12.ValueChecked +'' +
                     ':' + DBCheckBox13.ValueChecked +',:' + DBCheckBox14.ValueChecked +',:' + DBCheckBox15.ValueChecked +',:' + DBCheckBox16.ValueChecked +',:' + DBCheckBox17.ValueChecked +'' +
                     ':' + DBCheckBox18.ValueChecked +',:' + DBCheckBox19.ValueChecked +',:' + DBCheckBox20.ValueChecked + ')';
LisansKayit.ExecSQL;
LisansKayit.Refresh;
LisansKayit.Open;
End;
Cevapla
#4
 with LisansKayit do
 begin
   if Active then  Close;
   SQL.Clear;
   SQL.Add(' INSERT INTO LISANS ');
   SQL.Add(' ( ');
   SQL.Add('  VDAIRE,VNO,GLNKILIT,GDNKILIT,,UNVAN,ACIKLAMA,MODTUT,KULLSAY, ');
   SQL.Add('  ID,BASTARIHI,LEMTARIHI,EMP1,EMP2,EMP3,NTS1,NTS2,NTS3, ');
   SQL.Add('  TOPTUT,KDVTUT,KDVORAN,GENELTOP,LEMTUT ');
   SQL.Add('  ) ');
   SQL.Add('  VALUES ');
   SQL.Add(' ( ');
   SQL.Add('  :pVDAIRE,:pVNO,:pGLNKILIT,:pGDNKILIT,:pUNVAN,:pACIKLAMA, ');
   SQL.Add('  :pMODTUT,:pKULLSAY,:pID,:pBASTARIHI,:pLEMTARIHI,:pEMP1,:pEMP2, ');
   SQL.Add('  :pEMP3,:pNTS1,:pNTS2,:pNTS3,:pTOPTUT,:pKDVTUT,:pKDVORAN,');
   SQL.Add('  :pGENELTOP,:pLEMTUT ');
   SQL.Add('  )');
  // Parameters.ParseSQL(SQL.Text,True);                       // ADoQuery kullanıyorsanız!
  // Parameters.ParamByName('pBASTARIHI').DataType := ftDate;  // ADoQuery kullanıyorsanız!
  // Parameters.ParamByName('pLEMTARIHI').DataType := ftDate;  // ADoQuery kullanıyorsanız!

     Parameters.ParamByName('pVDAIRE').Value     :=DBEdit1.text;
     Parameters.ParamByName('pVNO').Value        :=DBEdit2.text;
     Parameters.ParamByName('pGLNKILIT').Value   :=Edit1.text;
     Parameters.ParamByName('pGDNKILIT').Value   :=Edit2.text;
     Parameters.ParamByName('pUNVAN').Value      :=DBEdit3.Text;
     Parameters.ParamByName('pACIKLAMA').Value   :=DBEdit4.Text;
     Parameters.ParamByName('pMODTUT').Value     :=DBEdit5.Text;
     Parameters.ParamByName('pKULLSAY').Value    :=DBEdit6.Text;
     Parameters.ParamByName('pID').Value         :=DBEdit7.Text;
     Parameters.ParamByName('pBASTARIHI').Value  :=DateTimePicker1.Date
     Parameters.ParamByName('pLEMTARIHI').Value  :=DateTimePicker2.Date
     Parameters.ParamByName('pEMP1').Value       :=DBCheckBox1.ValueChecked
     Parameters.ParamByName('pEMP2').Value       :=DBCheckBox2.ValueChecked
     Parameters.ParamByName('pEMP3').Value       :=DBCheckBox3.ValueChecked
     Parameters.ParamByName('pNTS1').Value       :=DBCheckBox4.ValueChecked
     Parameters.ParamByName('pNTS2').Value       :=DBCheckBox5.ValueChecked
     Parameters.ParamByName('pNTS3').Value       :=DBCheckBox6.ValueChecked
     Parameters.ParamByName('pTOPTUT').Value     :=DBCheckBox7.ValueChecked
     Parameters.ParamByName('pKDVTUT').Value     :=DBCheckBox8.ValueChecked
     Parameters.ParamByName('pKDVORAN').Value    :=DBCheckBox9.ValueChecked
     Parameters.ParamByName('pGENELTOP').Value   :=DBCheckBox10.ValueChecked
     Parameters.ParamByName('pLEMTUT').Value     :=DBCheckBox11.ValueChecked
   ExecSQL;
 End;
Cevapla
#5
@ozcanm Hocam yazmış. Benim zamanım olmadığı için yazamamıştım. Ama doğru kullanımı bu.
.
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#6
Arkadaşlar bu şekilde düzenledim fakat GLNKILIT,GDNKILIT kaydediyor diğer alanları " işareti olarak kaydediyor nerde hata yapıyorum?

LisansKayit.SQL.Clear;
LisansKayit.Close;
LisansKayit.SQL.Text:='INSERT INTO LISANS(GLNKILIT,GDNKILIT,ID,VDAIRE,VNO) VALUES (:GLN_KILIT,:GDN_KILIT,:KEY_ID,:V_DAIRE,:V_NO)';
LisansKayit.Parameters.ParamByName('KEY_ID').Value      :=DBEdit6.Text;
LisansKayit.Parameters.ParamByName('GLN_KILIT').Value:=Edit1.Text;
LisansKayit.Parameters.ParamByName('GDN_KILIT').Value:=Edit2.Text;
LisansKayit.Parameters.ParamByName('V_DAIRE').Value  :=DBEdit1.Text;
LisansKayit.Parameters.ParamByName('V_NO').Value     :=DBEdit2.Text;
LisansKayit.ExecSQL;

Bu şekilde de kullandım
procedure TForm1.Button3Click(Sender: TObject);
begin
with LisansKayit do
begin
  if Active then  Close;
SQL.Clear;
SQL.Add('INSERT INTO LISANS(GLNKILIT,GDNKILIT,ID,VDAIRE,VNO) VALUES (:GLN_KILIT,:GDN_KILIT,:KEY_ID,:V_DAIRE,:V_NO)');
Parameters.ParamByName('KEY_ID').Value      :=DBEdit6.Text;
Parameters.ParamByName('GLN_KILIT').Value:=Edit1.Text;
Parameters.ParamByName('GDN_KILIT').Value:=Edit2.Text;
Parameters.ParamByName('V_DAIRE').Value  :=DBEdit1.Text;
Parameters.ParamByName('V_NO').Value     :=DBEdit2.Text;
ExecSQL;
End;
End;


Ek Dosyalar Resimler
   
Cevapla
#7
Hoıcam özel değil ise birşey sorabilirmiyim? ID alanıznız dikkatimi çekti.. bu sanırım uniq bi alan ve artan sayılarla alakalı.. Neden Integer bir alan değil de string bir alan?

Not:
Query1.Prepare'yi kullanın.

Hatanız şuradan kaynaklanıyor:

Table Field ve Value alanlarının sırası aynı değil..

Sizin yazdığınız:
SQL.Add('INSERT INTO LISANS(GLNKILIT,GDNKILIT,ID,VDAIRE,VNO) VALUES (:GLN_KILIT,:GDN_KILIT,:KEY_ID,:V_DAIRE,:V_NO)');

Olması gerken:
SQL.Add('INSERT INTO LISANS(ID,GLNKILIT,GDNKILIT,VDAIRE,VNO) VALUES (:KEY_ID,:GLN_KILIT,:GDN_KILIT,:V_DAIRE,:V_NO)');
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#8
Ozcanm üstadımın yazdığı gibi kullandım sadece Edit1 ve Edit2 ID "1" girmeme rağmen "0" kaydediyor diğer alanlar boş. 
Delphi7 AdoQuery kullanıyorum.


with LisansKayit do
begin
  if Active then  Close;
  SQL.Clear;
  SQL.Add(' INSERT INTO TBLLISANS ');
  SQL.Add(' ( ');
  SQL.Add('  VDAIRE,VNO,GLNKILIT,GDNKILIT,UNVAN,ACIKLAMA,MODTUT,KULLSAY, ');
  SQL.Add('  ID,BASTARIHI,LEMTARIHI ');
  SQL.Add('  ) ');
  SQL.Add('  VALUES ');
  SQL.Add(' ( ');
  SQL.Add('  :L_VDAIRE,:L_VNO,:L_GLNKILIT,:L_GDNKILIT,:L_UNVAN,:L_ACIKLAMA, ');
  SQL.Add('  :L_MODTUT,:L_KULLSAY,:L_ID,:L_BASTARIHI,:L_LEMTARIHI ');
  SQL.Add('  )');
  Parameters.ParseSQL(SQL.Text,True);                       // ADoQuery kullanıyorsanız!
  Parameters.ParamByName('L_VDAIRE').Value     :=DBEdit1.text;
  Parameters.ParamByName('L_VNO').Value        :=DBEdit2.text;
  Parameters.ParamByName('L_GLNKILIT').Value   :=Edit1.text;
  Parameters.ParamByName('L_GDNKILIT').Value   :=Edit2.text;
  Parameters.ParamByName('L_UNVAN').Value      :=DBEdit3.Text;
  Parameters.ParamByName('L_ACIKLAMA').Value   :=DBEdit4.Text;
  Parameters.ParamByName('L_MODTUT').Value     :=MT.Text;
  Parameters.ParamByName('L_KULLSAY').Value    :=DBEdit5.Text;
  Parameters.ParamByName('L_ID').Value         :=DBEdit6.Text;
  Parameters.ParamByName('L_BASTARIHI').DataType := FtDate; // ADoQuery kullanıyorsanız!
  Parameters.ParamByName('L_LEMTARIHI').DataType := FtDate;  // ADoQuery kullanıyorsanız!
ExecSQL;


Ek Dosyalar Resimler
       
Cevapla
#9
Merhaba,
DBEditleri bilinçli olarak mı kullanıyorsunuz.( Kayıtları göstermek kolay olsun düşüncesi ile Undecided  )
DBEdit veriyi sizin tablonuzdan aldığına göre orada önceden kayıtlı hangi veri var ise onu alacaktır.
Kayıt işleminizi yaparken normal Edit kullanın yada değerleri manuel atayın ve sonucu gözlemleyin.

with LisansKayit do
begin
 if Active then  Close;
 SQL.Clear;
 SQL.Add(' INSERT INTO TBLLISANS ');
 SQL.Add(' ( ');
 SQL.Add('  VDAIRE,VNO,GLNKILIT,GDNKILIT,UNVAN,ACIKLAMA,MODTUT,KULLSAY, ');
 SQL.Add('  ID,BASTARIHI,LEMTARIHI ');
 SQL.Add('  ) ');
 SQL.Add('  VALUES ');
 SQL.Add(' ( ');
 SQL.Add('  :L_VDAIRE,:L_VNO,:L_GLNKILIT,:L_GDNKILIT,:L_UNVAN,:L_ACIKLAMA, ');
 SQL.Add('  :L_MODTUT,:L_KULLSAY,:L_ID,:L_BASTARIHI,:L_LEMTARIHI ');
 SQL.Add('  )');
 Parameters.ParseSQL(SQL.Text,True);                       // ADoQuery kullanıyorsanız!
 Parameters.ParamByName('L_VDAIRE').Value       :='AAAAAA';
 Parameters.ParamByName('L_VNO').Value          :='0123456789';
 Parameters.ParamByName('L_GLNKILIT').Value     :='ABC123';
 Parameters.ParamByName('L_GDNKILIT').Value     :='321CBA';
 Parameters.ParamByName('L_UNVAN').Value        :='TEST UNVAN';
 Parameters.ParamByName('L_ACIKLAMA').Value     :='TEST ACIKLAMA';
 Parameters.ParamByName('L_MODTUT').Value       :='M000';
 Parameters.ParamByName('L_KULLSAY').Value      :='5';
 Parameters.ParamByName('L_ID').Value           :='1';
 Parameters.ParamByName('L_BASTARIHI').Value    :='2021-06-15';
 Parameters.ParamByName('L_LEMTARIHI ').Value   :='2021-06-20';
 Parameters.ParamByName('L_BASTARIHI').DataType := FtDate; // ADoQuery kullanıyorsanız!
 Parameters.ParamByName('L_LEMTARIHI').DataType := FtDate;  // ADoQuery kullanıyorsanız!
ExecSQL;

Cevapla
#10
Emeği geçen arkadaşlara çok teşekkür ediyorum. Yüreğinize sağlık. Sorunu ozcanm hocamın yolunu izleyerek bu şekilde çözdüm.

SQL.Add('INSERT INTO TBLLISANS(VDAIRE,VNO,GLNKILIT,GDNKILIT,ID,KULLSAY) VALUES (:L_VDAIRE,:L_VNO,:L_GLNKILIT,:L_GDNKILIT,:L_ID,:L_KULLSAY)');
 Parameters.ParseSQL(SQL.Text,True);
Parameters.ParamByName('L_VDAIRE').Value   :=Edit3.Text;
Parameters.ParamByName('L_VNO').Value      :=Edit4.Text;
Parameters.ParamByName('L_GLNKILIT').Value :=Edit1.Text;
Parameters.ParamByName('L_GDNKILIT').Value :=Edit2.Text;
Parameters.ParamByName('L_ID').Value       :=Edit5.Text;
Parameters.ParamByName('L_KULLSAY').Value  :=Edit9.Text;
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  kayıt sorunu info@guzelceker.com 9 672 05-07-2021, Saat: 09:36
Son Yorum: ozcanm
  Regedit den Kayıt Okuma OZCANK 6 623 09-06-2021, Saat: 12:11
Son Yorum: OZCANK
  SQL Server insert sorunu shooterman 0 176 03-06-2021, Saat: 21:57
Son Yorum: shooterman
  Kaydın ilk veya son kayıt olduğunu anlama akuyumcu63 6 600 26-05-2021, Saat: 07:57
Son Yorum: serdar
  birden fazla tabloya kayıt işlemi akuyumcu63 4 709 20-05-2021, Saat: 16:49
Son Yorum: akuyumcu63



Konuyu Okuyanlar: 1 Ziyaretçi