Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - HATA
  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.

HATA

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


Kayıt Tarihi: 20 Ağustos 2024
Durum: Aktif Değil
Puanlar: 27
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı kacar.nursena Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: HATA
    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.
Yukarı Dön
kacar.nursena Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 20 Ağustos 2024
Durum: Aktif Değil
Puanlar: 27
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı kacar.nursena Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 17 Eylül 2024 Saat 18:01
hatanın ekran görüntüsü:
Yukarı Dön
kacar.nursena Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 20 Ağustos 2024
Durum: Aktif Değil
Puanlar: 27
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı kacar.nursena Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 17 Eylül 2024 Saat 18:03
Yukarı Dön
Developer Açılır Kutu İzle
Forum Yöneticisi
Forum Yöneticisi


Kayıt Tarihi: 14 Haziran 2023
Durum: Aktif Değil
Puanlar: 354
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Developer Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 17 Eylül 2024 Saat 18:11
Merhaba NurSena,
Hata nın resmi görünmüyor.
Yukarı Dön
kacar.nursena Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 20 Ağustos 2024
Durum: Aktif Değil
Puanlar: 27
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı kacar.nursena Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 17 Eylül 2024 Saat 18:23
Yukarı Dön
kacar.nursena Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 20 Ağustos 2024
Durum: Aktif Değil
Puanlar: 27
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı kacar.nursena Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 17 Eylül 2024 Saat 18:24
Yukarı Dön
Developer Açılır Kutu İzle
Forum Yöneticisi
Forum Yöneticisi


Kayıt Tarihi: 14 Haziran 2023
Durum: Aktif Değil
Puanlar: 354
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Developer Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 19 Eylül 2024 Saat 14:06
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ı');
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,063 Saniyede Yüklendi.