Sayfayı Yazdır | Pencereyi Kapat

prodateEdit FireDAC Hatası

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1100
Tarih: 18 Temmuz 2025 Saat 18:14
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: prodateEdit FireDAC Hatası
Mesajı Yazan: kenan
Konu: prodateEdit FireDAC Hatası
Mesaj Tarihi: 18 Temmuz 2025 Saat 11:52
merhaba arkadaşlar , " [FireDAC][Phys][SQLite] ERROR: near ".2025": syntax error "  hatası alıyorum  bir çözümü var mı  şimdiden  teşekkür ederim 


date,BaslangicTarihi,BitisTarihi :TClProDateEdit;


void  getdatabaseFiltered;
{
  
  try
      qry = 'SELECT * FROM Satis WHERE 1=1';  // Temel başlangıç sorgusu
    
  if (BaslangicTarihi.DateStr <> '')
      qry = qry + ' AND currentdateDB >= "' + BaslangicTarihi.DateStr + '" '
      if (BitisTarihi.DateStr <> '')
        qry = qry + ' AND currentdateDB <= "' + BitisTarihi.DateStr + '" '
        
        
     qry = qry + 'ORDER BY currentdateDB DESC';    

    if (qry.Found)
    {
      ShowMessage('calısıyorrrr');
      GridSales.ConnectDataSet(qry);
      setGrids;
   
    }
    else
    {
    ShowMessage(' uygun krityerde sonuç yok !')
    }
    
  except
  ShowMessage(LastExceptionMessage);
  }

void MyMQTTPublishReceived;
{
try
  if(MyMQTT.ReceivedAlright)
  {
  
  //BURADA JSON ILE MQTT DEN GELEN VERILERI AYIRIP DEGISKENLERIN ICINE ATIYORUZ
  plasiyer = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'plasiyer');
  urun = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'urun_adi');
  tutar = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'Satış');
  tur = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'satis_turu');
  AAciklama = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'Aciklama');
  
  
  //database e ekleme
  Clomosy.DBSQLiteQuery.SQL.Text = 'INSERT INTO Satis (plasiyerName,productName,price,Tur,comment,currentdateDB) VALUES (' 
  +QuotedStr(Plasiyer)+ ','
  +QuotedStr(Urun)+ ','
  +QuotedStr(Tutar)+','
  +QuotedStr(tur)+','
  +QuotedStr(AAciklama)+','
  +DateToStr(date.DateStr)+')';
  Clomosy.DBSQLiteQuery.OpenOrExecute;
  Clomosy.SleepAndCall(1000,'','');
  ShowMessage('veriler database e ekleniyor ve gösteriliyor ...')
  
  
    if(deger){
    
    ShowMessage('giltrele butonu çalışıyor');
    
    getdatabaseFiltered;
  }
  else
  {
    
      getdatabasetogrid;
      
      
      
    }
    
    
  }
  else
  {
    ShowMessage('Mqtt  bağlanamadı')
  }
  
except
  ShowMessage(LastExceptionMessage);
  }
}






Cevaplar:
Mesajı Yazan: Sudesigirci
Mesaj Tarihi: 18 Temmuz 2025 Saat 12:22
Merhaba Kenan ,

//başlangıç tarihi
qry= qry+ ' AND currentdateDB >= "' + FormatDateTime('yyyy-mm-dd', BaslangicTarihi.Date) + '" ';


//bitiş tarihi
qry= qry+ ' AND currentdateDB <= "' + FormatDateTime('yyyy-mm-dd', BitisTarihi.Date) + '" ';

//Insert sorgusu içinde

QuotedStr(FormatDateTime('yyyy-mm-dd', date.Date)) bu şekilde kullanarak dener misin umarım hatanı çözer

iyi çalışmalar dilerim


Mesajı Yazan: kenan
Mesaj Tarihi: 18 Temmuz 2025 Saat 14:15
merhaba sude, dediğin gibi eksik kısımları düzelttim  maalesef hala aynı hatayı veriyor 


void creatDatabaseAndConnect;
{
  Password = '';
  
  if (Clomosy.PlatformIsMobile)
    DB = Clomosy.AppFilesPath + 'new.db3';
  else
    DB = 'C:\klasor\new.db3';
    
  try
  
    Clomosy.DBSQLiteConnect(DB, Password);
    Clomosy.DBSQLiteQuery.Sql.Text='CREATE TABLE IF NOT EXISTS Satis(ID INTEGER PRIMARY KEY AUTOINCREMENT,plasiyerName Text, productName Text, price Text,Tur Text,comment Text,currentdateDB Text)';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
   
    
  except
  ShowMessage('Exception Class: '+LastExceptionClassName+'Exception Message: '+LastExceptionMessage);
  }
}
void  getdatabaseFiltered;
{
  
  try
      qry = 'SELECT * FROM Satis WHERE 1=1';  // Temel başlangıç sorgusu
    
  if (BaslangicTarihi.DateStr <> '')
      ShowMessage('baslangıç tarihi :'+ BaslangicTarihi.DateStr);
      qry = qry + ' AND currentdateDB >= "' +  FormatDateTime('yyyy-mm-dd', BaslangicTarihi.Date) + '" '
      if (BitisTarihi.DateStr <> '')
        ShowMessage('bitis tarihi :'+BitisTarihi.DateStr);
        qry = qry + ' AND currentdateDB <= "' + FormatDateTime('yyyy-mm-dd', BitisTarihi.Date)  + '" '
        
        
  qry = qry + 'ORDER BY ID DESC';    

  if (qry.Found)
  {
    ShowMessage('calısıyorrrr');
    GridSales.ConnectDataSet(qry);
    setGrids;
   
  }
  else
  {
    ShowMessage(' uygun krityerde sonuç yok !')
  }
    
  except
  ShowMessage(LastExceptionMessage);
  }
    
  
}



void MyMQTTPublishReceived;
{
try
  if(MyMQTT.ReceivedAlright)
  {
  
  //BURADA JSON ILE MQTT DEN GELEN VERILERI AYIRIP DEGISKENLERIN ICINE ATIYORUZ
  plasiyer = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'plasiyer');
  urun = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'urun_adi');
  tutar = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'Satış');
  tur = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'satis_turu');
  AAciklama = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'Aciklama');
  
 
  //database e ekleme
  Clomosy.DBSQLiteQuery.SQL.Text = 'INSERT INTO Satis (plasiyerName,productName,price,Tur,comment,currentdateDB) VALUES (' 
  +QuotedStr(Plasiyer)+ ','
  +QuotedStr(Urun)+ ','
  +QuotedStr(Tutar)+','
  +QuotedStr(tur)+','
  +QuotedStr(AAciklama)+','
  +QuotedStr(FormatDateTime('yyyy-mm-dd', date.Date))+')';
  Clomosy.DBSQLiteQuery.OpenOrExecute;
  Clomosy.SleepAndCall(1000,'','');
  ShowMessage('veriler database e ekleniyor ve gösteriliyor ...')
  
  
    if(deger){
    
    ShowMessage('filtrele butonu çalışıyor');
    
    getdatabaseFiltered;
  }
  else
  {
    
      getdatabasetogrid;
      
      
      
    }
    
    
  }
  else
  {
    ShowMessage('Mqtt  bağlanamadı')
  }
  
except
  ShowMessage(LastExceptionMessage);
  }
}


Mesajı Yazan: kenan
Mesaj Tarihi: 18 Temmuz 2025 Saat 14:17
yanlış yazmışım aynı hata değil "Could not convert variant of type (UnicodeString) into type (Double) " bu hatayı veriyor artık



Mesajı Yazan: Sudesigirci
Mesaj Tarihi: 18 Temmuz 2025 Saat 14:31
Merhaba Kenan ,
tip dönüşümü hatası alıyorsun attığın kodda hata bulamadım diğer değişken tiplerini görmem için kodun tamamını atabilir misin rica etsem


Mesajı Yazan: kenan
Mesaj Tarihi: 18 Temmuz 2025 Saat 14:41
 getdatabaseFiltered metodunda  ShowMessage('baslangıç tarihi :'+ BaslangicTarihi.DateStr);
 ekrana yazdırdıktan sonra, hata çıkıyor  yani büyük ihtimal
 qry2 = qry2 + ' AND currentdateDB >= "' +  FormatDateTime('yyyy-mm-dd', BaslangicTarihi.Date) + '" ' satırında bir sıkıntı var 

var 

yoneticiForm: TclForm;
MyMQTT : TclMQTT;
plasiyer,urun,tutar,tur,AAciklama:String;
date,BaslangicTarihi,BitisTarihi :TClProDateEdit;
GridSales:TclProGrid;
FRow,FCol,j,i :Integer;
Password, DB : String;
qry,qry2:TCLSQLiteQuery;
panel1,panel2: TclProPanel;
filtre,live:TClProButton;
deger:Boolean;



//-------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------


void creatDatabaseAndConnect;
{
  Password = '';
  
  if (Clomosy.PlatformIsMobile)
    DB = Clomosy.AppFilesPath + 'new.db3';
  else
    DB = 'C:\klasor\new.db3';
    
  try
  
    Clomosy.DBSQLiteConnect(DB, Password);
    Clomosy.DBSQLiteQuery.Sql.Text='CREATE TABLE IF NOT EXISTS Satis(ID INTEGER PRIMARY KEY AUTOINCREMENT,plasiyerName Text, productName Text, price Text,Tur Text,comment Text,currentdateDB Text)';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
   
    
  except
  ShowMessage('Exception Class: '+LastExceptionClassName+'Exception Message: '+LastExceptionMessage);
  }
}


//-------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------


void setGrids;
{
  
 
  for (i = 0 to GridSales.ColumnCount-1 )
  {
    
     GridSales.HorzAlignments[i,0] = 0; // Merkez

    //başlıklar hariç tüm satırlar
    for (j = 1 to GridSales.RowCount-1 )
    {
      GridSales.FontStyles[i,j] = 0; // Bold
      GridSales.FontSizes[i,j] = 14;
      GridSales.HorzAlignments[i,j] = 0; // Merkez
      GridSales.VertAlignments[i,j] = 0; // Merkez
    }
  }  

    
    GridSales.ColumnWidths[0] = 50;
    GridSales.ColumnWidths[1] = 110;
    GridSales.ColumnWidths[2] = 110;
    GridSales.ColumnWidths[3] = 100; 
    GridSales.ColumnWidths[4] = 80;
    GridSales.ColumnWidths[5] = 120;
    GridSales.ColumnWidths[6] = 200;
    
    GridSales.FontSizes[0,0] = 14;
    GridSales.FontSizes[1,0] = 14;
    GridSales.FontSizes[2,0] = 14;
    GridSales.FontSizes[3,0] = 14;
    GridSales.FontSizes[4,0] = 14;
    GridSales.FontSizes[5,0] = 14;
    GridSales.FontSizes[6,0] = 14;
    

      
    GridSales.FixedLayoutFillColor = clAlphaColor.clHexToColor('#497574');
    GridSales.FixedLayoutFontColor = clAlphaColor.clHexToColor('#FFFFFF');
    
    GridSales.FocusedLayoutFontColor = clAlphaColor.clHexToColor('#6366f1');
  GridSales.Options.Selection.Mode = smSingleRow;
    GridSales.Options.Editing.Enabled = False;
    GridSales.FocusedLayoutFillColor = clAlphaColor.clHexToColor('#6fa4be');
    GridSales.SelectedLayoutFillColor = clAlphaColor.clHexToColor('#b9cfd1');
    GridSales.NormalLayoutFillColor = clAlphaColor.clHexToColor('#ffffff');
    GridSales.BandLayoutFillColor = clAlphaColor.clHexToColor('#ffffff');
    GridSales.FocusedLayoutFontColor = clAlphaColor.clHexToColor('#ededed');
}

  //-------------------------------------------------------------------------------------------------------------------------------
  //-------------------------------------------------------------------------------------------------------------------------------

void getdatabasetogrid;
{
  
  qry = Clomosy.DBSQLiteQueryWith('SELECT ID,plasiyerName,productName,price,Tur,currentdateDB,comment FROM Satis ORDER BY ID DESC');
  qry.OpenOrExecute;
  
  if (qry.Found)
  {
    GridSales.ConnectDataSet(qry);
    setGrids;
   
  }
  else
  {
    ShowMessage(' Veri Tabanında Veri Yok !')
  }
}


//-------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------


void  getdatabaseFiltered;
{
  
  try
      qry2 = Clomosy.DBSQLiteQueryWith('SELECT * FROM Satis WHERE 1=1');
  if (BaslangicTarihi.DateStr <> ''){
      ShowMessage('baslangıç tarihi :'+ BaslangicTarihi.DateStr);
      qry2 = qry2 + ' AND currentdateDB >= "' +  FormatDateTime('yyyy-mm-dd', BaslangicTarihi.Date) + '" '
      if (BitisTarihi.DateStr <> ''){
        ShowMessage('bitis tarihi :'+BitisTarihi.DateStr);
        qry2 = qry2 + ' AND currentdateDB <= "' + FormatDateTime('yyyy-mm-dd', BitisTarihi.Date)  + '" '
      }
  }
  qry2 = qry2 + 'ORDER BY ID DESC';    
  
  ShowMessage('qryfound öncesi');
  qry.OpenOrExecute;
  if (qry2.Found)
  {
    ShowMessage('calısıyorrrr');
    GridSales.ConnectDataSet(qry2);
    setGrids;
   
  }
  else
  {
    ShowMessage(' uygun krityerde sonuç yok !')
  }
    
  except
  ShowMessage(LastExceptionMessage);
  }
    
  
}

//-------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------


void filtered;
{
  deger=True;
  getdatabaseFiltered;
}


//-------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------


void lived;
{
  
  deger=False;
  getdatabasetogrid;
  
}





//-------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------



void ProGridCellDblClick;
{
  
  FRow = yoneticiForm.ClSenderRow;
  FCol = yoneticiForm.ClSenderCol;
  ShowMessage(GridSales.GetCellValue(FCol,FRow));
}






//-------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------



void MyMQTTPublishReceived;
{
try
  if(MyMQTT.ReceivedAlright)
  {
  
  //BURADA JSON ILE MQTT DEN GELEN VERILERI AYIRIP DEGISKENLERIN ICINE ATIYORUZ
  plasiyer = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'plasiyer');
  urun = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'urun_adi');
  tutar = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'Satış');
  tur = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'satis_turu');
  AAciklama = Clomosy.CLParseJSON(MyMQTT.ReceivedMessage,'Aciklama');
  
  
  //database e ekleme
  Clomosy.DBSQLiteQuery.SQL.Text = 'INSERT INTO Satis (plasiyerName,productName,price,Tur,comment,currentdateDB) VALUES (' 
  +QuotedStr(Plasiyer)+ ','
  +QuotedStr(Urun)+ ','
  +QuotedStr(Tutar)+','
  +QuotedStr(tur)+','
  +QuotedStr(AAciklama)+','
  +QuotedStr(FormatDateTime('yyyy-mm-dd', date.Date))+')';
  Clomosy.DBSQLiteQuery.OpenOrExecute;
  Clomosy.SleepAndCall(1000,'','');
  ShowMessage('veriler database e ekleniyor ve gösteriliyor ...')
  
  
    if(deger){
    
    ShowMessage('filtrele butonu çalışıyor');
    
    getdatabaseFiltered;
  }
  else
  {
    
      getdatabasetogrid;
      
      
      
    }
    
    
  }
  else
  {
    ShowMessage('Mqtt  bağlanamadı')
  }
  
except
  ShowMessage(LastExceptionMessage);
  }
}


//-------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------


{
  yoneticiForm = TclForm.Create(self);
  yoneticiForm.SetFormColor('#ebebeb', '#cfcfcf', clGVertical);
  yoneticiForm.LytTopBar.Visible = True;
  creatDatabaseAndConnect;
  deger=False;
  panel1=yoneticiForm.AddNewProPanel(yoneticiForm, 'panel1');
  panel2=yoneticiForm.AddNewProPanel(yoneticiForm, 'panel2');
  
  
  
  panel1.Align = alTop;
  panel1.Margins.Top = 5;
  panel1.Margins.Left = 5;
  panel1.Margins.Right = 5;
  panel1.Height = 200;
  panel1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#6b6b6b2');
  panel1.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ffffff');
  panel1.clProSettings.IsRound = True;
  panel1.clProSettings.BorderWidth = 2;
  panel1.clProSettings.RoundHeight = 10;
  panel1.clProSettings.RoundWidth = 10;
  panel1.SetclProSettings(panel1.clProSettings);
  
  
  panel2.Align = alClient;
  panel2.Margins.Top = 5;
  panel2.Margins.Left = 5;
  panel2.Margins.Right = 5;
  panel2.clProSettings.BorderColor = clAlphaColor.clHexToColor('#6b6b6b2');
  panel2.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ffffff');
  panel2.clProSettings.IsRound = True;
  panel2.clProSettings.BorderWidth = 2;
  panel2.clProSettings.RoundHeight = 10;
  panel2.clProSettings.RoundWidth = 10;
  panel2.SetclProSettings(panel2.clProSettings);
  
  
  
  date = yoneticiForm.AddNewProDateEdit(panel1,'date');
  date.Visible=False;
  
  BaslangicTarihi = yoneticiForm.AddNewProDateEdit(panel1,'BaslangicTarihi');
  BaslangicTarihi.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#a6ade3');
  BaslangicTarihi.Align = alLeft;
  BaslangicTarihi.SetclProSettings(BaslangicTarihi.clProSettings);
  
  
  BitisTarihi = yoneticiForm.AddNewProDateEdit(panel1,'BitisTarihi');
  BitisTarihi.Align = alRight;
  BitisTarihi.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#8ec200');
  BitisTarihi.SetclProSettings(BitisTarihi.clProSettings);
  
  filtre = yoneticiForm.AddNewProButton(panel1, 'filtre', 'Filtrele');
  filtre.Align = alBottom;
  filtre.Margins.Bottom = 15;
  filtre.Margins.Left = 100;
  filtre.Margins.Right = 100;
  filtre.Height = 40;
  filtre.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#6366F1');
  filtre.clProSettings.BorderColor = clAlphaColor.clHexToColor('#6b6b6b2');
  filtre.clProSettings.IsRound = True;
  filtre.clProSettings.BorderWidth = 1;
  filtre.clProSettings.FontSize = 25;
  filtre.clProSettings.FontColor=clAlphaColor.clHexToColor('#ffffff');
  filtre.clProSettings.TextSettings.Font.Style=[fsBold];
  filtre.SetclProSettings(filtre.clProSettings);
  
   
  live = yoneticiForm.AddNewProButton(panel1, 'live', 'yenile');
  live.Align = alBottom;
  live.Margins.Bottom = 15;
  live.Margins.Left = 100;
  live.Margins.Right = 100;
  live.Height = 40;
  live.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ff6600');
  live.clProSettings.BorderColor = clAlphaColor.clHexToColor('#ff6600');
  live.clProSettings.IsRound = True;
  live.clProSettings.BorderWidth = 1;
  live.clProSettings.FontSize = 25;
  live.clProSettings.FontColor=clAlphaColor.clHexToColor('#ffffff');
  live.clProSettings.TextSettings.Font.Style=[fsBold];
  live.SetclProSettings(live.clProSettings);
  
  GridSales = yoneticiForm.AddNewProGrid(panel2, 'GridSales');
  GridSales.Align = alClient;
  getdatabasetogrid;
  
  
  MyMQTT =yoneticiForm.addnewMQTTConnection(yoneticiForm,'MyMQTT');
  MyMQTT.Channel = 'Chat';
  MyMQTT.Connect;
  
  
  
  yoneticiForm.AddNewEvent(live,tbeOnClick,'lived');
  yoneticiForm.AddNewEvent(filtre,tbeOnClick,'filtered');
  yoneticiForm.AddNewEvent(GridSales,tbeOnProGridCellDblClick,'ProGridCellDblClick');
  yoneticiForm.AddNewEvent(MyMQTT,tbeOnMQTTPublishReceived,'MyMQTTPublishReceived');
  
  yoneticiForm.Run;
}


Mesajı Yazan: kenan
Mesaj Tarihi: 18 Temmuz 2025 Saat 15:10
merhaba  kodun düzeltilmiş ve çalışan hali alttadır  teşekkür ederim ilgilenen herkese

void getdatabaseFiltered;
{
  var baslangicStr, bitisStr : String;

  try
    qry2 = 'SELECT * FROM Satis WHERE 1=1';

    if (BaslangicTarihi.DateStr <> '') {
      baslangicStr = FormatDateTime('yyyy-mm-dd', BaslangicTarihi.Date);
      qry2 = qry2 + ' AND currentdateDB >= ' + QuotedStr(baslangicStr);
    }

    if (BitisTarihi.DateStr <> '') {
      bitisStr = FormatDateTime('yyyy-mm-dd', BitisTarihi.Date);
      qry2 = qry2 + ' AND currentdateDB <= ' + QuotedStr(bitisStr);
    }
    qry2 = qry2 + ' ORDER BY ID DESC';

    qry = Clomosy.DBSQLiteQueryWith(qry2);
    qry.OpenOrExecute;

    if (qry.Found) {
      GridSales.ConnectDataSet(qry);
      setGrids;
    }
    else {
      ShowMessage('Uygun kriterde sonuç yok!');
    }

  except
    ShowMessage(LastExceptionMessage);
  }



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net