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; }
|