Sayfayı Yazdır | Pencereyi Kapat

Sql Hatası

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=844
Tarih: 06 Ocak 2025 Saat 13:22
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Sql Hatası
Mesajı Yazan: AhmetUnuvar
Konu: Sql Hatası
Mesaj Tarihi: 08 Ağustos 2024 Saat 14:01
var
  dcGameForm: TclGameForm;
  kullaniciBilgileriPanel: TclProPanel;
  btnOyunaBasla: TClProButton;
  oyuncuAdiProEdit1,oyuncuAdiProEdit2,oyuncuAdiProEdit3,oyuncuAdiProEdit4: TclProEdit;
  oyuncuSayisiCmb: TCLComboBox;
  arkaPlan: TCLImage;
  ikiKisilikUnit, ucKisilikUnit, dortKisilikUnit: TclUnit;
  oyuncuSayisiLbl : TClProLabel;
  addNameQuery : TclSqlQuery;
  
  
  
void insertName;
{
  try 
    
    Clomosy.DBSQLServerQuery.Sql.Text = 'INSERT INTO tbl_oyuncu_ad (oyuncuAd) VALUES ('+QuotedStr(oyuncuAdiProEdit1.Text)+','+QuotedStr(oyuncuAdiProEdit2.Text)+','+QuotedStr(oyuncuAdiProEdit3.Text)+','+QuotedStr(oyuncuAdiProEdit4.Text)+')';
    Clomosy.DBSQLServerQuery.ExecSql;
    ShowMessage('İsimler Veritabanına Eklendi');
  
  except
  
    ShowMessage('Exception Class :' +LastExceptionClassName+' Exception Message:' + LastExceptionMessage );
    
    
  }
    
}
  

void goToIkiKisilik; 
{
  dcGameForm.clShow;
  ikiKisilikUnit.UnitName = 'ikiKisilikUnit';
  ikiKisilikUnit.CallerForm = dcGameForm;
  ikiKisilikUnit.Run;
}

void goToUcKisilik;
{
  dcGameForm.clShow;
  ucKisilikUnit.UnitName = 'ucKisilikUnit';
  ucKisilikUnit.CallerForm = dcGameForm;
  ucKisilikUnit.Run;
}

void goToDortKisilik;
{
  dcGameForm.clShow;
  dortKisilikUnit.UnitName = 'dortKisilikUnit';
  dortKisilikUnit.CallerForm = dcGameForm;
  dortKisilikUnit.Run;
}

void butonaTikla;
{

  
  case oyuncuSayisiCmb.ItemIndex of
    {
    0: goToIkiKisilik;  // 2 oyuncu seçildiğinde
    1: goToUcKisilik;    // 3 oyuncu seçildiğinde
    2: goToDortKisilik;  // 4 oyuncu seçildiğinde
  
  else
    ShowMessage('Geçersiz Seçim');
  }
  
  
}
{
  dcGameForm = TclGameForm.Create(Self);
  ikiKisilikUnit = TclUnit.Create;
  ucKisilikUnit = TclUnit.Create;
  dortKisilikUnit = TclUnit.Create;
  
  
  // Arka Plan
  arkaPlan = dcGameForm.AddNewImage(dcGameForm, 'arkaPlan');
  arkaPlan.Align = alClient;
  arkaPlan.Height = 250;
  arkaPlan.Width = 300;
  dcGameForm.SetImage(arkaPlan, ' https://i.hizliresim.com/d5u495h.png" rel="nofollow - https://i.hizliresim.com/d5u495h.png ');
  
  
  
  
  // Panel
  kullaniciBilgileriPanel = dcGameForm.AddNewProPanel(dcGameForm, 'kullaniciBilgileriPanel');
  clComponent.SetupComponent(kullaniciBilgileriPanel,
    '{
      "Align" : "Center",
      "MarginBottom": 135,
      "MarginTop":110,
      "Width" : 350,
      "Height" : 450,
      "RoundHeight" : 10,
      "RoundWidth" : 10,
      "BorderWidth" : 2,
      "BorderColor" : "#ffffff"
    }'
  );
  
  
  
  
  oyuncuSayisiCmb = dcGameForm.AddNewComboBox(kullaniciBilgileriPanel, 'oyuncuSayisiCmb');
  oyuncuSayisiCmb.Align = alCenter;
  oyuncuSayisiCmb.Width = 60;
  oyuncuSayisiCmb.Height = 30;
  oyuncuSayisiCmb.Margins.Left = 35;
  oyuncuSayisiCmb.Margins.Bottom = 400;
  oyuncuSayisiCmb.AddItem('2', '2');
  oyuncuSayisiCmb.AddItem('3', '3');
  oyuncuSayisiCmb.AddItem('4', '4');
  
  
  
  
  
  
  oyuncuSayisiLbl = dcGameForm.AddNewProLabel(kullaniciBilgileriPanel, 'oyuncuSayisiLbl', 'Oyuncu Sayısını Seçiniz:');
  clComponent.SetupComponent(oyuncuSayisiLbl,
  
  '{
    "Align" : "Center",
    "MarginRight" :220,
    "MarginBottom" :400,
    "TextColor":"#000000",
    "TextSize":11,
    "TextVerticalAlign":"center",
    "TextHorizontalAlign":"left"
    
  }');

  
  
  
  
  oyuncuAdiProEdit1 = dcGameForm.AddNewProEdit(kullaniciBilgileriPanel, 'oyuncuAdiProEdit1', 'Oyuncu 1');
  clComponent.SetupComponent(
    oyuncuAdiProEdit1,
    '{
      "Align" : "Center",
      "MarginBottom" : 200,
      "Width"  : 180,
      "Height" : 45,
      "RoundHeight" : 14,
      "RoundWidth" : 2,
      "BorderWidth":2
      
    }'
  );
  
  oyuncuAdiProEdit2 = dcGameForm.AddNewProEdit(kullaniciBilgileriPanel, 'oyuncuAdiProEdit2', 'Oyuncu 2');
  clComponent.SetupComponent(
    oyuncuAdiProEdit2,
    '{
      "Align" : "Center",
      "MarginBottom" : 100,
      "Width"  : 180,
      "Height" : 45,
      "RoundHeight" : 14,
      "RoundWidth" : 2,
      "BorderWidth":2
      
    }'
  );
  
  oyuncuAdiProEdit3 = dcGameForm.AddNewProEdit(kullaniciBilgileriPanel, 'oyuncuAdiProEdit3', 'Oyuncu 3');
  clComponent.SetupComponent(
    oyuncuAdiProEdit3,
    '{
      "Align" : "Center",
      "MarginTop" : 150,
      "Width"  : 180,
      "Height" : 45,
      "RoundHeight" : 14,
      "RoundWidth" : 2,
            "BorderWidth":2
      
    }'
  );
  
  oyuncuAdiProEdit4 = dcGameForm.AddNewProEdit(kullaniciBilgileriPanel, 'oyuncuAdiProEdit4', 'Oyuncu 4');
  clComponent.SetupComponent(
    oyuncuAdiProEdit4,
    '{
      "Align" : "Center",
      "MarginTop" : 250,
      "Width"  : 180,
      "Height" : 45,
      "RoundHeight" : 14,
      "RoundWidth" : 2,
            "BorderWidth":2
      
    }'
  );
  
  
  
  
  
  btnOyunaBasla = dcGameForm.AddNewProButton(dcGameForm, 'btnOyunaBasla', 'Oyuna Başla');
  clComponent.SetupComponent(
    btnOyunaBasla,
    '{
      "caption" : "Oyuna Başla", 
      "Align" : "Center", 
      "MarginTop" : 340, 
      
      "Width" : 150,
      "Height" : 50, 
      "RoundHeight" : 7, 
      "RoundWidth" : 2 , 
      "BorderColor" : "#ffffff" , 
      "BorderWidth" : 2,
      "BackgroundColor": "#ec7979",
      "FontStyle":"bold"
    }'
  );
  
  addNameQuery  = TclSqlQuery.Create(Nil);
  Clomosy.DBSQLServerConnect('SQL Server', 'DESKTOP-Q7UNJV9\SQLEXPRESS', 'sa', 'Aze129901', 'DC',1433);
  addNameQuery.Connection = Clomosy.DBSQLServerConnection;
  
  
  
  
  
  

  btnOyunaBasla.OnClick = 'insertName';
  
  dcGameForm.Run;
}


Merhabalar. Editlere girdiğim isimleri veritabanına kaydetmek istiyorum ancak  
Exception Class : EUniError Exception Message : There are fewer columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.

hatası alıyorum. Database adım DC , tablo adım tbl_oyuncu_ad , sütun isimleri sırasıyla 
oyuncuAd , oyuncuAdIki , oyuncuAdUc , oyuncuAdDort ve veri tipleri nvarchar




Cevaplar:
Mesajı Yazan: BilalCndn
Mesaj Tarihi: 08 Ağustos 2024 Saat 17:51
Merhaba Ahmet,

SQL sorgusundan hata alıyorsun. insert içerisinde bir tane sütun vermişsin fakat values kısmında birden fazla değer var. Insert işlemini yapmak istediğin sütun isimlerinin hepsini yazmalısın. Values sayısı sütun sayısı ile aynı olmalı.


-------------
Bilal Candan

Atiker Yazılım Veri İşlem A.Ş.
Software Developer

[email protected]



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net