Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - SQL HATASI
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir.

SQL HATASI

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
Muammer Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 24 Haziran 2025
Konum: Konya/meram
Durum: Aktif Değil
Puanlar: 6
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Muammer Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: SQL HATASI
    Gönderim Zamanı: Dün Saat 15:04
Aşağıdaki kod ürün ekle sayfasına ait.Bu Kodda ürün bilglierini giriyorum bilgiler grid ekranına düşüyor fakat sqle kaydedilmiyor ve uygulamayı kapatıp açınca grid ekranından da gidiyor.

var
  MyForm: TclForm;          
  MyGrid: TclStringGrid;    
  Lbl_Baslik: TClProLabel;  
  LblUyari: TClProLabel;    
  DtEdt1: TClProDateEdit;   
  Edt_StokKodu, Edt_UrunAdi, Edt_StokMiktari: TclProEdit; 
  Lbl_Tarih, Lbl_UrunAdi, Lbl_StokMiktari: TClProLabel;   
  Lbl_StokKodu: TClProLabel;
  Btn_Filtrele, Btn_TedarikciSiparisTakibi, Btn_QR, Btn_KritikUrunler, Btn_YeniUrunEkle, Btn_SatisFire: TClProButton;
  selectQuery: TClSqlQuery;
  Str_StokKodu, Str_DateEdit: String;
  NewUrunKodu, NewUrunAdi, NewStokMiktari, NewKritikSeviye, NewDepoYeriID, NewBirimFiyat: String;
  mainPnl, leftPanel, rightPanel, bottomPanel: TclProPanel;  // Declare panels
  

// Setup Grid Columns Function
void SetupGridColumns;
{
  MyGrid.Columns[0].Header = 'Ürün Kodu';
  MyGrid.Columns[1].Header = 'Ürün Adı';
  MyGrid.Columns[2].Header = 'Stok Miktarı';
  MyGrid.Columns[3].Header = 'Kritik Seviye';
  MyGrid.Columns[4].Header = 'Depo Yeri ID';
  MyGrid.Columns[5].Header = 'Birim Fiyat';
  MyGrid.Columns[6].Header = 'Tarih';
}

// Add Data to Grid
void AddDataToGrid;
{
  try
    selectQuery.SQL.Text = 'SELECT UrunKodu, UrunAdi, StokMiktari, KritikSeviye, DepoYeriID, BirimFiyat, OlusturmaTarihi FROM TBLSTOKSB';
    selectQuery.Open;
    
    if (selectQuery.Found)
    {
      MyForm.RemoveGridBinding('myLink');
      MyForm.AddNewGridBinding(MyGrid, selectQuery, 'myLink');
      SetupGridColumns;
    }
    else
    {
      ShowMessage('Kayıt bulunamadı!');
    }
  except
    ShowMessage('Hata oluştu: ' + LastExceptionMessage);
  }
}

// Button click function to add a new product
void EkleButtonClick;
{
  // Ürün bilgilerini kullanıcıdan alıyoruz
  NewUrunKodu = Edt_StokKodu.Text;
  NewUrunAdi = Edt_UrunAdi.Text;
  
  // Stok miktarını kontrol ediyoruz
  try
    NewStokMiktari = StrToInt(Edt_StokMiktari.Text);
  except
    ShowMessage('Stok miktarı geçersiz! Lütfen geçerli bir sayı girin.');
    
  }
  
  NewKritikSeviye = '0';  
  NewDepoYeriID = '1';    
  NewBirimFiyat = '0.00'; 

  // Ürün kodu ve adının boş olmadığını kontrol ediyoruz
  if ((NewUrunKodu == '') && (NewUrunAdi == '')) 
  {
    ShowMessage('Ürün kodu veya adı boş olamaz!');
  }

  // Veritabanına yeni ürünü ekliyoruz
  try
    selectQuery = TClSqlQuery.Create(nil);  
    selectQuery.Connection = Clomosy.DBSQLServerConnection;
    selectQuery.SQL.Text = 'INSERT INTO TBLSTOKSB (UrunKodu, UrunAdi, StokMiktari, KritikSeviye, DepoYeriID, BirimFiyat) VALUES (''' + NewUrunKodu + ''', ''' + NewUrunAdi + ''', ' + IntToStr(NewStokMiktari) + ', ''' + NewKritikSeviye + ''', ''' + NewDepoYeriID + ''', ''' + NewBirimFiyat + ''')';  // Correct column names    selectQuery.ExecSQL;  
    ShowMessage('Yeni ürün başarıyla eklendi!');
  except
    ShowMessage('Ürün eklenirken bir hata oluştu: ' + LastExceptionMessage);
  }

  // Veritabanına yeni eklenen ürünü ekledikten sonra, grid'e ekliyoruz
  MyGrid.RowCount = MyGrid.RowCount + 1;  
  MyGrid.Cells[0, MyGrid.RowCount - 1] = NewUrunKodu;  
  MyGrid.Cells[1, MyGrid.RowCount - 1] = NewUrunAdi;  
  MyGrid.Cells[2, MyGrid.RowCount - 1] = IntToStr(NewStokMiktari);  
  MyGrid.Cells[3, MyGrid.RowCount - 1] = NewKritikSeviye;  
  MyGrid.Cells[4, MyGrid.RowCount - 1] = NewDepoYeriID;  
  MyGrid.Cells[5, MyGrid.RowCount - 1] = NewBirimFiyat;  

  // Veriyi doğrudan grid'e eklediğimiz için Refresh kullanmamıza gerek yok
}


{
  // Form Initialization
  MyForm = TclForm.Create(Self);
  MyForm.SetFormColor('#c4c4c4', '#c4c4c4', clGVertical);

  // Form Title
  Lbl_Baslik = MyForm.AddNewProLabel(MyForm, 'Lbl_Baslik', 'Ürün Ekleme Sayfası');
  Lbl_Baslik.Align = alTop;
  Lbl_Baslik.Height = 60;
  Lbl_Baslik.Margins.Top = 30;
  Lbl_Baslik.clProSettings.FontSize = 26;
  Lbl_Baslik.clProSettings.FontColor = clAlphaColor.clHexToColor('#fc0000');
  Lbl_Baslik.clProSettings.FontVertAlign = palCenter;
  Lbl_Baslik.clProSettings.FontHorzAlign = palCenter;
  Lbl_Baslik.SetclProSettings(Lbl_Baslik.clProSettings);

  // Left Panel (For form inputs)
  leftPanel = MyForm.AddNewProPanel(MyForm, 'leftPanel');
  leftPanel.Align = alLeft;
  leftPanel.Width = 400;  // Left panel takes 1/4th of the width
  leftPanel.Margins.Top = 20;
  leftPanel.Margins.Left = 20;
  leftPanel.Margins.Right = 20;

  // Right Panel (For Grid)
  rightPanel = MyForm.AddNewProPanel(MyForm, 'rightPanel');
  rightPanel.Align = alClient;  // Right panel takes the remaining space
  rightPanel.Margins.Top = 20;
  rightPanel.Margins.Left = 20;
  rightPanel.Margins.Right = 20;

  // Bottom Panel (For displaying products from the database)
  bottomPanel = MyForm.AddNewProPanel(MyForm, 'bottomPanel');
  bottomPanel.Align = alBottom;  // Bottom panel below the inputs
  bottomPanel.Height = 150;
  bottomPanel.Margins.Top = 20;
  bottomPanel.Margins.Left = 20;
  bottomPanel.Margins.Right = 20;

  // Left Panel Widgets (Product Info)
  Lbl_StokKodu = MyForm.AddNewProLabel(leftPanel, 'Lbl_StokKodu', 'Ürün Kodu');
  Lbl_StokKodu.Align = alTop;
  Lbl_StokKodu.Height = 30;
  Lbl_StokKodu.clProSettings.FontSize = 14;
  Lbl_StokKodu.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');
  Lbl_StokKodu.SetclProSettings(Lbl_StokKodu.clProSettings);

  Edt_StokKodu = MyForm.AddNewProEdit(leftPanel, 'Edt_StokKodu', '' );
  Edt_StokKodu.Align = alTop;
  Edt_StokKodu.Height = 40;
  Edt_StokKodu.Width = leftPanel.Width * 70 div 100;
  Edt_StokKodu.Margins.Top = 10;
  Edt_StokKodu.SetclProSettings(Edt_StokKodu.clProSettings);

  Lbl_UrunAdi = MyForm.AddNewProLabel(leftPanel, 'Lbl_UrunAdi', 'Ürün Adı');
  Lbl_UrunAdi.Align = alTop;
  Lbl_UrunAdi.Height = 30;
  Lbl_UrunAdi.clProSettings.FontSize = 14;
  Lbl_UrunAdi.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');
  Lbl_UrunAdi.SetclProSettings(Lbl_UrunAdi.clProSettings);

  Edt_UrunAdi = MyForm.AddNewProEdit(leftPanel, 'Edt_UrunAdi', '' );
  Edt_UrunAdi.Align = alTop;
  Edt_UrunAdi.Height = 40;
  Edt_UrunAdi.Width = leftPanel.Width * 70 div 100;
  Edt_UrunAdi.Margins.Top = 10;
  Edt_UrunAdi.SetclProSettings(Edt_UrunAdi.clProSettings);

  Lbl_StokMiktari = MyForm.AddNewProLabel(leftPanel, 'Lbl_StokMiktari', 'Stok Miktarı');
  Lbl_StokMiktari.Align = alTop;
  Lbl_StokMiktari.Height = 30;
  Lbl_StokMiktari.clProSettings.FontSize = 14;
  Lbl_StokMiktari.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');
  Lbl_StokMiktari.SetclProSettings(Lbl_StokMiktari.clProSettings);

  Edt_StokMiktari = MyForm.AddNewProEdit(leftPanel, 'Edt_StokMiktari', '' );
  Edt_StokMiktari.Align = alTop;
  Edt_StokMiktari.Height = 40;
  Edt_StokMiktari.Width = leftPanel.Width * 70 div 100;
  Edt_StokMiktari.Margins.Top = 10;
  Edt_StokMiktari.SetclProSettings(Edt_StokMiktari.clProSettings);

  Lbl_Tarih = MyForm.AddNewProLabel(leftPanel, 'Lbl_Tarih', 'Tarih');
  Lbl_Tarih.Align = alTop;
  Lbl_Tarih.Height = 30;
  Lbl_Tarih.clProSettings.FontSize = 14;
  Lbl_Tarih.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');
  Lbl_Tarih.SetclProSettings(Lbl_Tarih.clProSettings);

  DtEdt1 = MyForm.AddNewProDateEdit(leftPanel, 'DtEdt1');
  DtEdt1.Align = alTop;
  DtEdt1.Height = 40;
  DtEdt1.Width = leftPanel.Width * 70 div 100;
  DtEdt1.Margins.Top = 10;
  DtEdt1.SetclProSettings(DtEdt1.clProSettings);

  Btn_YeniUrunEkle = MyForm.AddNewProButton(leftPanel, 'Btn_YeniUrunEkle', 'Ürün Ekle');
  Btn_YeniUrunEkle.Align = alTop;
  Btn_YeniUrunEkle.Height = 50;
  Btn_YeniUrunEkle.Width = leftPanel.Width * 70 div 100;
  Btn_YeniUrunEkle.Margins.Top = 10;
  Btn_YeniUrunEkle.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50');
  Btn_YeniUrunEkle.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  Btn_YeniUrunEkle.clProSettings.FontSize = 16;
  Btn_YeniUrunEkle.SetclProSettings(Btn_YeniUrunEkle.clProSettings);

  // Create the grid for displaying products
  MyGrid = MyForm.AddNewStringGrid(rightPanel, 'MyGrid');
  MyGrid.Align = alClient;
  MyGrid.ReadOnly = True;

  // SQL bağlantısı
  selectQuery = TClSqlQuery.Create(nil);
  Clomosy.DBSQLServerConnect('SQL Server', 'DESKTOP-E2HF8JM\SQLEXPRESS', 'sa', '1', 'StokYonetim', 1433);
  selectQuery.Connection = Clomosy.DBSQLServerConnection;

  // Verileri çek
  AddDataToGrid;
  MyForm.AddNewEvent(Btn_YeniUrunEkle,tbeOnClick,'EkleButtonClick');
  MyForm.clSetWindowState(fwsMaximized);

  MyForm.Run;
}

Yukarı Dön
haletr Açılır Kutu İzle
Deneyimli Üye
Deneyimli Üye
Simge

Kayıt Tarihi: 16 Haziran 2025
Konum: Konya
Durum: Aktif Değil
Puanlar: 63
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı haletr Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 22 Saat 7 Dakika Önce Saat 17:15
Merhaba Muammer,

Öncelikle StringGrid yerine TclProGrid kullanmanı öneriyorum.

Kendi projemde veri tabanına veri eklemek için kullandığım kodları aşağıda paylaşıyorum. Veri tabanına ekledikten sonra Grid'i yenileyip bu şekilde verinin eklendiğini görüntülüyorum. Umarım yardımcı olur.

//Veri tabanına kayıt
void InsertToDatabase;
{
  
    if ((edtFisNo.Text == '') || (edtHarcamaTur.Text == '') || (edtAciklama.Text == '') || (edtTutar.Text == '') || (edtTarih.Text == '') || (edtSaat.Text==''))
    ShowMessage('Lütfen tüm alanları doldurun.');
  else 
  {
  try {
    Clomosy.DBSQLServerQuery.Sql.Text =
  'INSERT INTO Harcamalar (fis_no, harcama_turu, aciklama, tutar, tarih, saat) ' +
  'VALUES (' +
    QuotedStr(edtFisNo.Text) + ', ' +
    QuotedStr(edtHarcamaTur.Text) + ', ' +
    QuotedStr(edtAciklama.Text) + ', ' +
    edtTutar.Text + ', ' + 
    QuotedStr(edtTarih.Text) + ', ' +
    QuotedStr(edtSaat.Text) +
  ')';
    Clomosy.DBSQLServerQuery.ExecSql;
    ShowMessage('Veri ekleme başarılı');
    Temizle; //Editleri temizlemek için bir prosedür
    Yenile; //Grid'i yenilemek için bir prosedür
    
  } except {
    ShowMessage('Exception class: '+LastExceptionClassName+' Exception Message: ' +LastExceptionMessage);
   }
}
}  
}

Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,035 Saniyede Yüklendi.