Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - annot open /define command which doesnt return res
  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.

annot open /define command which doesnt return res

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


Kayıt Tarihi: 24 Haziran 2025
Konum: KONYA
Durum: Aktif Değil
Puanlar: 60
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Sudesigirci Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: annot open /define command which doesnt return res
    Gönderim Zamanı: 6 Saat 16 Dakika Önce Saat 11:58
Merhabalar , aşağıdaki kod statü güncelleme işlemini yapıyor fakat butona bastığımda yazdığım hatayı alıyorum bazen de bastığımda Invalid Cast Type hatasını alıyorum şimdiden yardımlarınız için teşekkür ederim
var
  MyForm: TclForm;
  mainVertSB: TclVertScrollBox;
  clProGrid: TClProGrid;
  lblBaslik: TClLabel;
  Qry: TClSQLiteQuery;
  btnStatuGuncelle:TClProButton;
  seciliEmail, seciliModul: String;
   seciliID: String;
   
   
void GetTaleplerGrid;
{
  try
     Qry = Clomosy.DBSQLiteQueryWith(
  'SELECT kullanici_email, modul, aciklama, status, id FROM Talepler'
);


    Qry.OpenOrExecute;

    if Qry.Found {
      clProGrid = MyForm.AddNewProGrid(mainVertSB, 'clProGrid');
      clProGrid.Align = alTop;
      clProGrid.Height = 400;
      clProGrid.Options.Selection.Mode = smSingleCell;
      clProGrid.ConnectDataSet(Qry);
      clProGrid.AutoSizeColumns(True, 100);
        MyForm.AddNewEvent(clProGrid, tbeOnProGridCellClick, 'ProGridSatirSecildi');
    } else {
      ShowMessage('Veri bulunamadı.');
    }
  except
    ShowMessage('Hata: ' + LastExceptionMessage);
  }
}

void ProGridSatirSecildi;
var
  satirNo: Integer;
{
  satirNo = MyForm.ClSenderRow;
  seciliID = clProGrid.Cells[4, satirNo];
}

void StatuyuGuncelle;

{
  if seciliID <> '' {
      Qry = Clomosy.DBSQLiteQueryWith(
      'UPDATE Talepler SET status = ''' + 'Çözüldü' + ''' WHERE id = ' + seciliID
    );
    
    ShowMessage('Durum "Çözüldü" olarak güncellendi.');
    GetTaleplerGrid;
  } else {
    ShowMessage('Lütfen önce bir satıra tıklayın.');
  }
}

{
  MyForm = TclForm.Create(Self);

  mainVertSB = MyForm.AddNewVertScrollBox(MyForm, 'mainVertSB');
  mainVertSB.Align = alClient;

  lblBaslik = MyForm.AddNewLabel(mainVertSB, 'lblBaslik', 'Tüm Talepler Listesi');
  lblBaslik.Align = alTop;
  lblBaslik.Height = 50;
  lblBaslik.TextSettings.Font.Size = 24;
  lblBaslik.TextSettings.Font.Style = [fsBold];
  lblBaslik.TextSettings.HorzAlign = taCenter;

  btnStatuGuncelle = MyForm.AddNewProButton(mainVertSB, 'btnStatuGuncelle', 'Durumu Güncelle');
  btnStatuGuncelle.Align = alTop;
  btnStatuGuncelle.Height = 50;
  GetTaleplerGrid;
  
  MyForm.AddNewEvent(btnStatuGuncelle, tbeOnClick, 'StatuyuGuncelle');

  MyForm.Run;
}

Yukarı Dön
cerenn Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 18 Haziran 2025
Durum: Aktif
Puanlar: 28
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı cerenn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 6 Saat 4 Dakika Önce Saat 12:10
Merhaba Sude gördüğüm kadarıyla openorexecute yazmayı unutmuşsun 

Clomosy.DBSQLiteQuery.SQL.Text = 'UPDATE Talepler SET status = ''Çözüldü'' WHERE id = ' + seciliID; 
Clomosy.DBSQLiteQuery.OpenOrExecute;

onun haricinde bazen global bir Qry tanımlamak bende sıkıntılara yol açabiliyordu benim kodumda local şekilde hem GetTaleplerGrid fonksiyonun için hem de ProGridSatirSecildi fonksiyonun için tanımlarsan daha iyi olabilir.Ayrıca eğer ki tek bir ID üzerinden statü işlemini devam ettirmeyeceksen ID yi kullandıktan sonra seciliID = '' satırını fonksiyonuna eklemeyi unutma.
Gördüklerim bunlar iyi çalışmalar dilerim.
Yukarı Dön
Sudesigirci Açılır Kutu İzle
Deneyimli Üye
Deneyimli Üye


Kayıt Tarihi: 24 Haziran 2025
Konum: KONYA
Durum: Aktif Değil
Puanlar: 60
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Sudesigirci Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 6 Saat 2 Dakika Önce Saat 12:12
Merhaba Ceren ,
OpenOrExecute kullandım fakat aynı hatayı alınca tekrar sildim buraya da o şekilde attım diğer dediklerini uygulayacağım teşekkür ederim
Yukarı Dön
haletr Açılır Kutu İzle
Deneyimli Üye
Deneyimli Üye
Simge

Kayıt Tarihi: 16 Haziran 2025
Konum: Konya
Durum: Aktif
Puanlar: 76
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ı: 3 Saat 37 Dakika Önce Saat 14:37
Merhaba Sude,

void StatuyuGuncelle;

{
if (seciliID <> '') {
  Clomosy.DBSQLiteQuery.SQL.Text=
    'UPDATE Talepler SET status = ''Çözüldü'' WHERE id = ''' + seciliID + '''';
  
  Clomosy.DBSQLiteQuery.OpenOrExecute;
    
    ShowMessage('Durum "Çözüldü" olarak güncellendi.');
    GetTaleplerGrid;
    }
  else {
    ShowMessage('Lütfen önce bir satıra tıklayın.');
  }
}

StatuyuGuncelle fonksiyonunu bu şekilde deneyebilir misin? Umarım yardımcı olur. İyi çalışmalar.
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,031 Saniyede Yüklendi.