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. |
HATA |
Yanıt Yaz |
Yazar | |
kacar.nursena
Yeni Üye Kayıt Tarihi: 20 Ağustos 2024 Durum: Aktif Değil Puanlar: 27 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı kacar.nursena
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Gönderim Zamanı: 17 Eylül 2024 Saat 15:41 |
Merhaba ,
kodumda : var mainform: TclForm; AtistirmaliklarPage: TclProPanel; Button: TclProButton; ProductID: Integer; ProductName: string; ProductPrice: Double; ProductImageURL: string; insertQuery, ProductQuery: TclSqlQuery; pricelabel, namelabel: TclProLabel; edtProductID,edtProductName, edtProductPrice, edtProductImageURL: TclEdit; i, previousButtonLeft, previousButtonTop: Integer; // Veritabanına veri ekleme prosedürü procedure insertToDatabase; begin insertQuery:= TclSqlQuery.Create(nil); try insertQuery.Connection := Clomosy.DBSQLServerConnection; insertQuery.SQL.Text := 'INSERT INTO Cart (ProductID,ProductName, ProductPrice, ProductImageURL) ' + 'VALUES (' +QuotedStr(edtProductID.Text) + ', ' + QuotedStr(edtProductName.Text)+','+ QuotedStr(edtProductPrice.Text) + ', ' + QuotedStr(edtProductImageURL.Text) + ');'; insertQuery.ExecSql; ShowMessage('Veri ekleme başarılı'); except ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage); end; end; // Veritabanı bağlantısını kurma prosedürü procedure SetupDatabaseConnection; begin try Clomosy.DBSQLServerConnect('SQL Server', 'su-db.database.windows.net','dbAdmin','Azure1234','suDb', 1433); ShowMessage('Veritabanı bağlantısı başarıyla kuruldu!'); except ShowMessage('Veritabanı bağlantısı kurulamadı: ' + LastExceptionMessage); end; end; // Ürünleri sayfaya yükleme prosedürü procedure LoadProductsToPage; begin ProductQuery := TclSqlQuery.Create(nil); try ProductQuery.Connection := Clomosy.DBSQLServerConnection; ProductQuery.SQL.Text := 'SELECT ProductID, ProductName, ProductPrice, ProductImageURL FROM Products'; ProductQuery.Open; previousButtonLeft := 10; // İlk butonun sol kenardan uzaklığı previousButtonTop := 800; // İlk butonun üst kenardan uzaklığı i := 0; while not ProductQuery.Eof do begin try ProductID := ProductQuery.FieldByName('ProductID').AsInteger; ProductName := ProductQuery.FieldByName('ProductName').AsString; ProductPrice := ProductQuery.FieldByName('ProductPrice').AsFloat; ProductImageURL := ProductQuery.FieldByName('ProductImageURL').AsString; // Yeni buton oluşturma Button := mainform.AddNewProButton(AtistirmaliklarPage, 'Button' + IntToStr(i), ''); mainform.AddNewEvent(Button, tbeOnClick, 'InsertToDatabase'); // Buton boyut ve pozisyon Button.Width := 150; Button.Height := 150; // Butonun yerleşimi (yatay ve dikey) if (ProductID mod 2 = 1) then begin // Tek butonlar, sol tarafa hizalanacak Button.Margins.Bottom := previousButtonTop; // Önceki butonun altına yerleştirmek için Button.Margins.Right := 0; // Sol tarafa hizalanacak Button.Margins.Left := 10; // Sonraki butonun üst mesafesini güncelle previousButtonTop := Button.Top - Button.Height - 10; end else begin // Çift butonlar, teklerin yanında yer alacak Button.Margins.Bottom := previousButtonTop; // Önceki butonla aynı hizaya yerleştirmek için Button.Margins.Right := 300; // Teklerin yanında olacak Button.Margins.Left := previousButtonLeft; // Sonraki butonun sol mesafesini güncelle previousButtonLeft := Button.Left - Button.Width - 10; end; // Ürün resmini butona ekleme if Assigned(mainform) then mainform.SetImage(Button, ProductImageURL); // Ürün adını göstermek için etiket oluşturma namelabel := mainform.AddNewProLabel(AtistirmaliklarPage, 'namelabel' + IntToStr(i), ''); namelabel.Margins.Bottom := Button.Margins.Bottom - Button.Height - 5; // Butonun hemen altında namelabel.Margins.Left := Button.Margins.Left; // Butonla hizalı namelabel.Margins.Right := Button.Margins.Right; namelabel.Text := ProductName; // Ürün fiyatını göstermek için etiket oluşturma pricelabel := mainform.AddNewProLabel(AtistirmaliklarPage, 'pricelabel' + IntToStr(i), ''); pricelabel.Margins.Bottom := namelabel.Margins.Bottom - namelabel.Height - 5; // Ürün adının altında pricelabel.Margins.Left := namelabel.Margins.Left; // Butonla hizalı pricelabel.Margins.Right := namelabel.Margins.Right; pricelabel.Text := Format('Fiyat: %.2f TL', [ProductPrice]); ProductQuery.Next; Inc(i); // i'yi 1 artır except ShowMessage('Ürün bilgileri işlenirken hata: ' + LastExceptionMessage); end; end; finally ProductQuery.Close; ProductQuery.Free; end; end; // Ürün ekleme sayfasını oluşturma prosedürü procedure AddProductPage; begin try AtistirmaliklarPage := mainform.AddNewProPanel(mainform, 'AtistirmaliklarPage'); if Assigned(AtistirmaliklarPage) then begin AtistirmaliklarPage.Align := alNone; // Manuel hizalama AtistirmaliklarPage.Width := 600; // Panel genişliği AtistirmaliklarPage.Height := 800; // Panel yüksekliği AtistirmaliklarPage.Left := 50; // Panelin sol kenardan uzaklığı AtistirmaliklarPage.Top := 50; // Panelin üst kenardan uzaklığı AtistirmaliklarPage.Margins.Left := 10; AtistirmaliklarPage.Margins.Right := 10; AtistirmaliklarPage.Margins.Top := 5; AtistirmaliklarPage.Margins.Bottom := 10; AtistirmaliklarPage.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#ffffff'); AtistirmaliklarPage.SetclProSettings(AtistirmaliklarPage.clProSettings); // Ürünleri sayfaya yükle LoadProductsToPage; end else ShowMessage('Atıştırmalıklar sayfası oluşturulamadı'); except ShowMessage('Panel oluşturulurken hata: ' + LastExceptionMessage); end; end; // Ana program akışı begin mainform := TclForm.Create(nil); try mainform.SetFormColor('#CBEDD5', '', clGNone); /* edtProductID := mainform.AddNewEdit(mainform, 'edtProductID', 'ProductID'); edtProductID.Margins.Right := 150; edtProductName := mainform.AddNewEdit(mainform, 'edtProductName', 'ProductName'); edtProductName.Margins.Left := 150; edtProductPrice := mainform.AddNewEdit(mainform, 'edtProductPrice', 'ProductPrice'); edtProductPrice.Margins.Left := 150; edtProductImageURL := mainform.AddNewEdit(mainform, 'edtProductImageURL', 'ProductImageURL'); edtProductImageURL.Margins.Left := 150; */ insertToDatabase; SetupDatabaseConnection; AddProductPage; mainform.Run; except ShowMessage('Ana form çalıştırılırken hata: ' + LastExceptionMessage); end; end. sanırım insertodatabase kısmında try'a girmiyor aşağıdakı hatayı alıyorum: var mainform: TclForm; AtistirmaliklarPage: TclProPanel; Button: TclProButton; ProductID: Integer; ProductName: string; ProductPrice: Double; ProductImageURL: string; insertQuery, ProductQuery: TclSqlQuery; pricelabel, namelabel: TclProLabel; edtProductID,edtProductName, edtProductPrice, edtProductImageURL: TclEdit; i, previousButtonLeft, previousButtonTop: Integer; // Veritabanına veri ekleme prosedürü procedure insertToDatabase; begin insertQuery:= TclSqlQuery.Create(nil); try insertQuery.Connection := Clomosy.DBSQLServerConnection; insertQuery.SQL.Text := 'INSERT INTO Cart (ProductID,ProductName, ProductPrice, ProductImageURL) ' + 'VALUES (' +QuotedStr(edtProductID.Text) + ', ' + QuotedStr(edtProductName.Text)+','+ QuotedStr(edtProductPrice.Text) + ', ' + QuotedStr(edtProductImageURL.Text) + ');'; insertQuery.ExecSql; ShowMessage('Veri ekleme başarılı'); except ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage); end; end; // Veritabanı bağlantısını kurma prosedürü procedure SetupDatabaseConnection; begin try Clomosy.DBSQLServerConnect('SQL Server', 'su-db.database.windows.net','dbAdmin','Azure1234','suDb', 1433); ShowMessage('Veritabanı bağlantısı başarıyla kuruldu!'); except ShowMessage('Veritabanı bağlantısı kurulamadı: ' + LastExceptionMessage); end; end; // Ürünleri sayfaya yükleme prosedürü procedure LoadProductsToPage; begin ProductQuery := TclSqlQuery.Create(nil); try ProductQuery.Connection := Clomosy.DBSQLServerConnection; ProductQuery.SQL.Text := 'SELECT ProductID, ProductName, ProductPrice, ProductImageURL FROM Products'; ProductQuery.Open; previousButtonLeft := 10; // İlk butonun sol kenardan uzaklığı previousButtonTop := 800; // İlk butonun üst kenardan uzaklığı i := 0; while not ProductQuery.Eof do begin try ProductID := ProductQuery.FieldByName('ProductID').AsInteger; ProductName := ProductQuery.FieldByName('ProductName').AsString; ProductPrice := ProductQuery.FieldByName('ProductPrice').AsFloat; ProductImageURL := ProductQuery.FieldByName('ProductImageURL').AsString; // Yeni buton oluşturma Button := mainform.AddNewProButton(AtistirmaliklarPage, 'Button' + IntToStr(i), ''); mainform.AddNewEvent(Button, tbeOnClick, 'InsertToDatabase'); // Buton boyut ve pozisyon Button.Width := 150; Button.Height := 150; // Butonun yerleşimi (yatay ve dikey) if (ProductID mod 2 = 1) then begin // Tek butonlar, sol tarafa hizalanacak Button.Margins.Bottom := previousButtonTop; // Önceki butonun altına yerleştirmek için Button.Margins.Right := 0; // Sol tarafa hizalanacak Button.Margins.Left := 10; // Sonraki butonun üst mesafesini güncelle previousButtonTop := Button.Top - Button.Height - 10; end else begin // Çift butonlar, teklerin yanında yer alacak Button.Margins.Bottom := previousButtonTop; // Önceki butonla aynı hizaya yerleştirmek için Button.Margins.Right := 300; // Teklerin yanında olacak Button.Margins.Left := previousButtonLeft; // Sonraki butonun sol mesafesini güncelle previousButtonLeft := Button.Left - Button.Width - 10; end; // Ürün resmini butona ekleme if Assigned(mainform) then mainform.SetImage(Button, ProductImageURL); // Ürün adını göstermek için etiket oluşturma namelabel := mainform.AddNewProLabel(AtistirmaliklarPage, 'namelabel' + IntToStr(i), ''); namelabel.Margins.Bottom := Button.Margins.Bottom - Button.Height - 5; // Butonun hemen altında namelabel.Margins.Left := Button.Margins.Left; // Butonla hizalı namelabel.Margins.Right := Button.Margins.Right; namelabel.Text := ProductName; // Ürün fiyatını göstermek için etiket oluşturma pricelabel := mainform.AddNewProLabel(AtistirmaliklarPage, 'pricelabel' + IntToStr(i), ''); pricelabel.Margins.Bottom := namelabel.Margins.Bottom - namelabel.Height - 5; // Ürün adının altında pricelabel.Margins.Left := namelabel.Margins.Left; // Butonla hizalı pricelabel.Margins.Right := namelabel.Margins.Right; pricelabel.Text := Format('Fiyat: %.2f TL', [ProductPrice]); ProductQuery.Next; Inc(i); // i'yi 1 artır except ShowMessage('Ürün bilgileri işlenirken hata: ' + LastExceptionMessage); end; end; finally ProductQuery.Close; ProductQuery.Free; end; end; // Ürün ekleme sayfasını oluşturma prosedürü procedure AddProductPage; begin try AtistirmaliklarPage := mainform.AddNewProPanel(mainform, 'AtistirmaliklarPage'); if Assigned(AtistirmaliklarPage) then begin AtistirmaliklarPage.Align := alNone; // Manuel hizalama AtistirmaliklarPage.Width := 600; // Panel genişliği AtistirmaliklarPage.Height := 800; // Panel yüksekliği AtistirmaliklarPage.Left := 50; // Panelin sol kenardan uzaklığı AtistirmaliklarPage.Top := 50; // Panelin üst kenardan uzaklığı AtistirmaliklarPage.Margins.Left := 10; AtistirmaliklarPage.Margins.Right := 10; AtistirmaliklarPage.Margins.Top := 5; AtistirmaliklarPage.Margins.Bottom := 10; AtistirmaliklarPage.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#ffffff'); AtistirmaliklarPage.SetclProSettings(AtistirmaliklarPage.clProSettings); // Ürünleri sayfaya yükle LoadProductsToPage; end else ShowMessage('Atıştırmalıklar sayfası oluşturulamadı'); except ShowMessage('Panel oluşturulurken hata: ' + LastExceptionMessage); end; end; // Ana program akışı begin mainform := TclForm.Create(nil); try mainform.SetFormColor('#CBEDD5', '', clGNone); /* edtProductID := mainform.AddNewEdit(mainform, 'edtProductID', 'ProductID'); edtProductID.Margins.Right := 150; edtProductName := mainform.AddNewEdit(mainform, 'edtProductName', 'ProductName'); edtProductName.Margins.Left := 150; edtProductPrice := mainform.AddNewEdit(mainform, 'edtProductPrice', 'ProductPrice'); edtProductPrice.Margins.Left := 150; edtProductImageURL := mainform.AddNewEdit(mainform, 'edtProductImageURL', 'ProductImageURL'); edtProductImageURL.Margins.Left := 150; */ insertToDatabase; SetupDatabaseConnection; AddProductPage; mainform.Run; except ShowMessage('Ana form çalıştırılırken hata: ' + LastExceptionMessage); end; end. |
|
kacar.nursena
Yeni Üye Kayıt Tarihi: 20 Ağustos 2024 Durum: Aktif Değil Puanlar: 27 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı kacar.nursena
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
hatanın ekran görüntüsü:
|
|
kacar.nursena
Yeni Üye Kayıt Tarihi: 20 Ağustos 2024 Durum: Aktif Değil Puanlar: 27 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı kacar.nursena
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
|
|
Developer
Forum Yöneticisi Kayıt Tarihi: 14 Haziran 2023 Durum: Aktif Değil Puanlar: 354 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Developer
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
Merhaba NurSena,
Hata nın resmi görünmüyor.
|
|
kacar.nursena
Yeni Üye Kayıt Tarihi: 20 Ağustos 2024 Durum: Aktif Değil Puanlar: 27 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı kacar.nursena
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
kacar.nursena
Yeni Üye Kayıt Tarihi: 20 Ağustos 2024 Durum: Aktif Değil Puanlar: 27 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı kacar.nursena
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
|
|
Developer
Forum Yöneticisi Kayıt Tarihi: 14 Haziran 2023 Durum: Aktif Değil Puanlar: 354 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Developer
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
Merhaba NurSena,
Aşağıdaki sorgu da edtProductPrice tanımlama yapmadığın için bu hatayı alıyorsun.
insertQuery.SQL.Text := 'INSERT INTO Cart (ProductID,ProductName, ProductPrice, ProductImageURL) ' + 'VALUES (' +QuotedStr(edtProductID.Text) + ', ' + QuotedStr(edtProductName.Text)+','+ QuotedStr(edtProductPrice.Text) + ', ' + QuotedStr(edtProductImageURL.Text) + ');'; insertQuery.ExecSql; ShowMessage('Veri ekleme başarılı'); |
|
Yanıt Yaz | |
Tweet |
Forum Atla | Forum İzinleri Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |