Sayfayı Yazdır | Pencereyi Kapat

kayıt 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=1582
Tarih: 02 Temmuz 2026 Saat 19:34
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: kayıt hatası
Mesajı Yazan: smeye
Konu: kayıt hatası
Mesaj Tarihi: 02 Temmuz 2026 Saat 15:47
var
DBFile : String;
dbQuery : TClSQLiteQuery;
totalIncome : Double;
totalExpense : Double;
balanceCard : TclProPanel;
incomeCard : TclProPanel;
expenseCard : TclProPanel;

lblBalance : TclProLabel;
lblIncome : TclProLabel;
lblExpense : TclProLabel;
  balanceLbl : TclProLabel;
incomeLbl : TclProLabel;
expenseLbl : TclProLabel;
  loginPanel : TclProPanel;
dashboardPanel : TclProPanel;

lblLogin : TclProLabel;

edtUser : TclProEdit;
edtPassword : TclProEdit;

  btnLogin : TclProButton;
  loadQuery : TCLJSONQuery;
  clomosyQ1: TCLJSONQuery;
  listData: TclStringList;
  SecilenTur: String;
  Form1: TclForm;
  lblBaslik: TclLabel;
  lblType: TclLabel;
  btnIncome: TclProButton;
  btnExpense: TclProButton;
  lblAmount: TclLabel;
  edtAmount: TclProEdit;
  lblDescription: TclLabel;
  edtDescription: TclProEdit;
  lblDate: TclLabel;
  dateEdit: TclProDateEdit;
  btnSave: TclProButton;
  lblLast: TclLabel;
  listView: TclProListView; 
 void UpdateDashboard;
var
  Qry : TClSQLiteQuery;
  typeStr : String;
  amountStr : String;
{
  try
    totalIncome = 0;
    totalExpense = 0;

    Qry = Clomosy.DBSQLiteQueryWith('SELECT Transaction_Type, Amount FROM TBLTRANSACTIONS');
    Qry.OpenOrExecute;
    Qry.First;

    while(not Qry.EOF)
    {
      typeStr = Qry.FieldByName('Transaction_Type').AsString;
      amountStr = Qry.FieldByName('Amount').AsString;

      if(typeStr == 'Gelir')
      {
        totalIncome = totalIncome + StrToFloat(amountStr);
      }

      if(typeStr == 'Gider')
      {
        totalExpense = totalExpense + StrToFloat(amountStr);
      }

      Qry.Next;
    }

    lblIncome.Text = '🟢 Gelir: ' + FloatToStr(totalIncome) + ' TL';
    lblExpense.Text = '🔴 Gider: ' + FloatToStr(totalExpense) + ' TL';
    lblBalance.Text = '💰 Bakiye: ' + FloatToStr(totalIncome-totalExpense) + ' TL';

  except
    ShowMessage('Dashboard Hatası: '+LastExceptionMessage);
  }
}
void btnIncomeClick;
{
  SecilenTur = 'Gelir';
  ShowMessage('İşlem Türü: Gelir');
}

void btnExpenseClick;
{
  SecilenTur = 'Gider';
  ShowMessage('İşlem Türü: Gider');
}

void CreateDatabase;
{
  try
    DBFile = Clomosy.AppFilesPath + 'FINTRACK2.db3';

    Clomosy.DBSQLiteConnect(DBFile,'');

    Clomosy.DBSQLiteQuery.Sql.Text =
    'CREATE TABLE IF NOT EXISTS TBLTRANSACTIONS(
    TransactionID INTEGER PRIMARY KEY,
    Transaction_Type TEXT,
    Amount REAL,
    Description TEXT,
    Transaction_Date TEXT
    )';

    Clomosy.DBSQLiteQuery.OpenOrExecute;

  except
    ShowMessage('DB Hatası: '+LastExceptionMessage);
  }
}

void btnLoginClick;
{
  loginPanel.Visible = False;
  dashboardPanel.Visible = True;
}
  void LoadTransactions;
var
  loadQuery : TCLJSONQuery;
{
  try

    loadQuery = Clomosy.DBCloudSQLSelectWith(
    'SELECT Transaction_Type, Amount, Description FROM ftTransactions'
    );

    if(loadQuery.Found)
    {
      listView.clLoadProListViewDataFromDataset(loadQuery);
    }

  except

    ShowMessage(
    'Listeleme hata: '+LastExceptionMessage
    );

  }
}
void btnSaveClick;
{
  if(SecilenTur == '')
  {
    ShowMessage('Önce Gelir veya Gider seçiniz.');
    Exit;
  }

  if(edtAmount.Text == '')
  {
    ShowMessage('Lütfen tutar giriniz.');
    Exit;
  }

  try
  dbQuery = Clomosy.DBSQLiteQueryWith(
  'INSERT INTO TBLTRANSACTIONS '+
  '(Transaction_Type,Transaction_Date,Description,Amount) VALUES ('+
  QuotedStr(SecilenTur)+','+
  QuotedStr(dateEdit.DateStr)+','+
  QuotedStr(edtDescription.Text)+','+
  edtAmount.Text+');'
  );

  dbQuery.OpenOrExecute;

  ShowMessage('Kayıt başarıyla eklendi.');

  edtAmount.Text = '';
  edtDescription.Text = '';
  SecilenTur = '';

  except
    ShowMessage('Kayıt Hatası: '+LastExceptionMessage);
  }

}
{
  Form1 = TclForm.Create(Self);
  loginPanel = Form1.AddNewProPanel(Form1,'loginPanel');
loginPanel.Align = alClient;
dashboardPanel = Form1.AddNewProPanel(Form1,'dashboardPanel');
dashboardPanel.Align = alClient;
balanceCard = Form1.AddNewProPanel(dashboardPanel,'balanceCard');
balanceCard.Align = alTop;
balanceCard.Height = 80;
balanceCard.Margins.Top = 10;
balanceCard.Margins.Left = 10;
balanceCard.Margins.Right = 10;


lblBalance = Form1.AddNewProLabel(balanceCard,'lblBalance','💰 Bakiye: 0 TL');
lblBalance.Align = alCenter;
lblBalance.clProSettings.FontSize = 22;
lblBalance.SetclProSettings(lblBalance.clProSettings);



incomeCard = Form1.AddNewProPanel(dashboardPanel,'incomeCard');
incomeCard.Align = alTop;
incomeCard.Height = 60;
incomeCard.Margins.Left = 10;
incomeCard.Margins.Right = 10;


lblIncome = Form1.AddNewProLabel(incomeCard,'lblIncome','🟢 Gelir: 0 TL');
lblIncome.Align = alCenter;
lblIncome.clProSettings.FontSize = 18;
lblIncome.SetclProSettings(lblIncome.clProSettings);



expenseCard = Form1.AddNewProPanel(dashboardPanel,'expenseCard');
expenseCard.Align = alTop;
expenseCard.Height = 60;
expenseCard.Margins.Left = 10;
expenseCard.Margins.Right = 10;


lblExpense = Form1.AddNewProLabel(expenseCard,'lblExpense','🔴 Gider: 0 TL');
lblExpense.Align = alCenter;
lblExpense.clProSettings.FontSize = 18;
lblExpense.SetclProSettings(lblExpense.clProSettings);

lblLogin = Form1.AddNewProLabel(loginPanel,'lblLogin','💰 FINTRACK');
lblLogin.Align = alTop;
lblLogin.Height = 90;
lblLogin.Margins.Top = 45;
lblLogin.clProSettings.FontSize = 30;
lblLogin.clProSettings.FontHorzAlign = palCenter;
lblLogin.clProSettings.TextSettings.Font.Style = [fsBold];
lblLogin.SetclProSettings(lblLogin.clProSettings);

edtUser = Form1.AddNewProEdit(loginPanel,'edtUser','Kullanıcı Adı');
edtUser.Align = alTop;
edtUser.Height = 55;
edtUser.Margins.Left = 35;
edtUser.Margins.Right = 35;
edtUser.Margins.Top = 35;

edtPassword = Form1.AddNewProEdit(loginPanel,'edtPassword','Şifre');
edtPassword.Align = alTop;
edtPassword.Height = 55;
edtPassword.Margins.Left = 35;
edtPassword.Margins.Right = 35;
edtPassword.Margins.Top = 15;
edtPassword.Password = True;

btnLogin = Form1.AddNewProButton(loginPanel,'btnLogin','GİRİŞ YAP');
btnLogin.Align = alTop;
btnLogin.Height = 55;
btnLogin.Margins.Left = 35;
btnLogin.Margins.Right = 35;
btnLogin.Margins.Top = 25;
btnLogin.clProSettings.FontSize = 17;
btnLogin.clProSettings.TextSettings.Font.Style = [fsBold];
btnLogin.SetclProSettings(btnLogin.clProSettings);

Form1.AddNewEvent(btnLogin,tbeOnClick,'btnLoginClick');

  lblBaslik = Form1.AddNewLabel(dashboardPanel, 'lblBaslik', 'Gelir - Gider Takip');
  lblBaslik.Align = alTop;
  lblBaslik.Height = 50;
  lblBaslik.StyledSettings = ssFamily;
  lblBaslik.TextSettings.Font.Size = 22;

  lblType = Form1.AddNewLabel(dashboardPanel, 'lblType', 'Islem Turu');
  lblType.Align = alTop;
  lblType.Height = 30;

  btnIncome = Form1.AddNewProButton(dashboardPanel,'btnIncome','Gelir');
  btnIncome.Align = alTop;
  btnIncome.Height = 45;
  Form1.AddNewEvent(btnIncome, tbeOnClick, 'btnIncomeClick');

  btnExpense = Form1.AddNewProButton(dashboardPanel, 'btnExpense', 'Gider');
  btnExpense.Align = alTop;
  btnExpense.Height = 45;
  Form1.AddNewEvent(btnExpense, tbeOnClick, 'btnExpenseClick');

  lblAmount = Form1.AddNewLabel(dashboardPanel, 'lblAmount', 'Tutar');
  lblAmount.Align = alTop;
  lblAmount.Height = 25;

  edtAmount = Form1.AddNewProEdit(dashboardPanel,'edtAmount','Tutar Giriniz');
  edtAmount.Align = alTop;
  edtAmount.Height = 45;
  edtAmount.clTypeOfField = taFloat;

  lblDescription = Form1.AddNewLabel(dashboardPanel, 'lblDescription', 'Aciklama');
  lblDescription.Align = alTop;
  lblDescription.Height = 25;

  edtDescription = Form1.AddNewProEdit(dashboardPanel,'edtDescription','Açıklama Giriniz');
  edtDescription.Align = alTop;
  edtDescription.Height = 45;

  lblDate = Form1.AddNewLabel(dashboardPanel, 'lblDate', 'Tarih');
  lblDate.Align = alTop;
  lblDate.Height = 25;

  dateEdit = Form1.AddNewProDateEdit(dashboardPanel,'dateEdit');
  dateEdit.Align = alTop;
  dateEdit.Height = 45;

  btnSave = Form1.AddNewProButton(dashboardPanel,'btnSave','Kaydet');
  btnSave.Align = alTop;
  btnSave.Height = 50;
  Form1.AddNewEvent(btnSave, tbeOnClick, 'btnSaveClick');

  lblLast = Form1.AddNewLabel(dashboardPanel, 'lblLast', 'Son Islemler');
  lblLast.Align = alTop;
  lblLast.Height = 30;
  
  listView = Form1.AddNewProListView(dashboardPanel,'listView');
  listView.Align = alClient;

  listView.clProSettings.ViewType = lvList;
  listView.SetclProSettings(listView.clProSettings);
loginPanel.Visible = True;
dashboardPanel.Visible = False;
CreateDatabase;


  Form1.Run;
Kayıt Hatası:
[FireDAC][Phys][SQLite] ERROR: database is locked

https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">



Cevaplar:
Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 02 Temmuz 2026 Saat 16:19
var
  DBFile: String;
  dbQuery: TclProQuery;
  totalIncome: Double;
  totalExpense: Double;
  balanceCard: TclProPanel;
  incomeCard: TclProPanel;
  expenseCard: TclProPanel;
  lblBalance: TclProLabel;
  lblIncome: TclProLabel;
  lblExpense: TclProLabel;
  loginPanel: TclProPanel;
  dashboardPanel: TclProPanel;
  lblLogin: TclProLabel;
  edtUser: TclProEdit;
  edtPassword: TclProEdit;
  btnLogin: TclProButton;
  SecilenTur: String;
  Form1: TclForm;
  lblBaslik: TclLabel;
  lblType: TclLabel;
  btnIncome: TclProButton;
  btnExpense: TclProButton;
  lblAmount: TclLabel;
  edtAmount: TclProEdit;
  lblDescription: TclLabel;
  edtDescription: TclProEdit;
  lblDate: TclLabel;
  dateEdit: TclProDateEdit;
  btnSave: TclProButton;
  lblLast: TclLabel;
  listView: TclProListView; 

void UpdateDashboard;
var
  Qry: TclProQuery;
  typeStr: String;
  amountStr: String;
{
  try
    totalIncome = 0;
    totalExpense = 0;

    Qry = Clomosy.DBSQLiteQueryWith('SELECT Transaction_Type, Amount FROM TBLTRANSACTIONS');
    Qry.OpenOrExecute;
    
    if (Qry.Found)
    {
      Qry.First;
      while (not Qry.EOF)
      {
        typeStr = Qry.FieldByName('Transaction_Type').AsString;
        amountStr = Qry.FieldByName('Amount').AsString;

        if (typeStr == 'Gelir')
        {
          totalIncome = totalIncome + StrToFloat(amountStr);
        }
        if (typeStr == 'Gider')
        {
          totalExpense = totalExpense + StrToFloat(amountStr);
        }

        Qry.Next;
      }
    }
    Qry.Free;

    lblIncome.Text = '🟢 Gelir: ' + FloatToStr(totalIncome) + ' TL';
    lblExpense.Text = '🔴 Gider: ' + FloatToStr(totalExpense) + ' TL';
    lblBalance.Text = '💰 Bakiye: ' + FloatToStr(totalIncome - totalExpense) + ' TL';
  except
    ShowMessage('Dashboard Hatası: ' + LastExceptionMessage);
  }
}

void btnIncomeClick;
{
  SecilenTur = 'Gelir';
  ShowMessage('İşlem Türü: Gelir');
}

void btnExpenseClick;
{
  SecilenTur = 'Gider';
  ShowMessage('İşlem Türü: Gider');
}

void CreateDatabase;
{
  try
    DBFile = Clomosy.AppFilesPath + 'FINTRACK2.db3';
    Clomosy.DBSQLiteConnect(DBFile, '');

    Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE IF NOT EXISTS TBLTRANSACTIONS(' +
                                     'TransactionID INTEGER PRIMARY KEY AUTOINCREMENT, ' +
                                     'Transaction_Type TEXT, ' +
                                     'Amount REAL, ' +
                                     'Description TEXT, ' +
                                     'Transaction_Date TEXT)';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
  except
    ShowMessage('Hata (SQLiteKurulum): ' + LastExceptionMessage);
  }
}

void btnLoginClick;
{
  if ((edtUser.Text == 'admin') && (edtPassword.Text == '1234'))
  {
    loginPanel.Visible = False;
    dashboardPanel.Visible = True;
    UpdateDashboard;
  }
  else
  {
    ShowMessage('Hatalı Giriş Bilgileri!');
  }
}

void btnSaveClick;
{
  if (SecilenTur == '')
  {
    ShowMessage('Önce Gelir veya Gider seçiniz.');
    Exit;
  }
  if (edtAmount.Text == '')
  {
    ShowMessage('Lütfen bir tutar giriniz.');
    Exit;
  }

  try
    Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO TBLTRANSACTIONS (Transaction_Type, Amount, Description, Transaction_Date) VALUES (' +
                                     QuotedStr(SecilenTur) + ', ' +
                                     QuotedStr(edtAmount.Text) + ', ' +
                                     QuotedStr(edtDescription.Text) + ', ' +
                                     QuotedStr(dateEdit.Text) + ')';
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    ShowMessage('Veri yerel veritabanına başarıyla kaydedildi.');
    
    edtAmount.Text = '';
    edtDescription.Text = '';
    SecilenTur = '';
    
    UpdateDashboard;
  except
    ShowMessage('Kayıt Hatası: ' + LastExceptionMessage);
  }
}

{
  Form1 = TclForm.Create(Self);
  SecilenTur = '';
  CreateDatabase;

  loginPanel = Form1.AddNewProPanel(Form1, 'loginPanel');
  loginPanel.Align = alClient;

  lblLogin = Form1.AddNewProLabel(loginPanel, 'lblLogin', 'SMARTTRACK');
  lblLogin.Align = alTop;
  lblLogin.Height = 70;
  lblLogin.clProSettings.FontSize = 26;
  lblLogin.clProSettings.FontHorzAlign = palCenter;
  lblLogin.SetclProSettings(lblLogin.clProSettings);

  edtUser = Form1.AddNewProEdit(loginPanel, 'edtUser', 'Kullanıcı Adı');
  edtUser.Align = alTop;
  edtUser.Height = 45;

  edtPassword = Form1.AddNewProEdit(loginPanel, 'edtPassword', 'Şifre');
  edtPassword.Align = alTop;
  edtPassword.Height = 45;
  edtPassword.Password = True;

  btnLogin = Form1.AddNewProButton(loginPanel, 'btnLogin', 'Giriş Yap');
  btnLogin.Align = alTop;
  btnLogin.Height = 50;
  Form1.AddNewEvent(btnLogin, tbeOnClick, 'btnLoginClick');

  dashboardPanel = Form1.AddNewProPanel(Form1, 'dashboardPanel');
  dashboardPanel.Align = alClient;
  dashboardPanel.Visible = False;

  lblBaslik = Form1.AddNewLabel(dashboardPanel, 'lblBaslik', 'Gelir - Gider Takip');
  lblBaslik.Align = alTop;
  lblBaslik.Height = 50;
  lblBaslik.StyledSettings = ssFamily;
  lblBaslik.TextSettings.Font.Size = 22;

  balanceCard = Form1.AddNewProPanel(dashboardPanel, 'balanceCard');
  balanceCard.Align = alTop;
  balanceCard.Height = 80;
  balanceCard.Margins.Top = 10;
  balanceCard.Margins.Left = 10;
  balanceCard.Margins.Right = 10;

  lblBalance = Form1.AddNewProLabel(balanceCard, 'lblBalance', '💰 Bakiye: 0 TL');
  lblBalance.Align = alCenter;
  lblBalance.clProSettings.FontSize = 22;
  lblBalance.SetclProSettings(lblBalance.clProSettings);

  incomeCard = Form1.AddNewProPanel(dashboardPanel, 'incomeCard');
  incomeCard.Align = alTop;
  incomeCard.Height = 60;
  incomeCard.Margins.Left = 10;
  incomeCard.Margins.Right = 10;

  lblIncome = Form1.AddNewProLabel(incomeCard, 'lblIncome', '🟢 Gelir: 0 TL');
  lblIncome.Align = alCenter;
  lblIncome.clProSettings.FontSize = 18;
  lblIncome.SetclProSettings(lblIncome.clProSettings);

  expenseCard = Form1.AddNewProPanel(dashboardPanel, 'expenseCard');
  expenseCard.Align = alTop;
  expenseCard.Height = 60;
  expenseCard.Margins.Left = 10;
  expenseCard.Margins.Right = 10;

  lblExpense = Form1.AddNewProLabel(expenseCard, 'lblExpense', '🔴 Gider: 0 TL');
  lblExpense.Align = alCenter;
  lblExpense.clProSettings.FontSize = 18;
  lblExpense.SetclProSettings(lblExpense.clProSettings);

  lblType = Form1.AddNewLabel(dashboardPanel, 'lblType', 'İşlem Türü');
  lblType.Align = alTop;
  lblType.Height = 30;

  btnIncome = Form1.AddNewProButton(dashboardPanel, 'btnIncome', 'Gelir');
  btnIncome.Align = alTop;
  btnIncome.Height = 45;
  Form1.AddNewEvent(btnIncome, tbeOnClick, 'btnIncomeClick');

  btnExpense = Form1.AddNewProButton(dashboardPanel, 'btnExpense', 'Gider');
  btnExpense.Align = alTop;
  btnExpense.Height = 45;
  Form1.AddNewEvent(btnExpense, tbeOnClick, 'btnExpenseClick');

  lblAmount = Form1.AddNewLabel(dashboardPanel, 'lblAmount', 'Tutar');
  lblAmount.Align = alTop;
  lblAmount.Height = 25;

  edtAmount = Form1.AddNewProEdit(dashboardPanel, 'edtAmount', 'Tutar Giriniz');
  edtAmount.Align = alTop;
  edtAmount.Height = 45;
  edtAmount.clTypeOfField = taFloat;

  lblDescription = Form1.AddNewLabel(dashboardPanel, 'lblDescription', 'Açıklama');
  lblDescription.Align = alTop;
  lblDescription.Height = 25;

  edtDescription = Form1.AddNewProEdit(dashboardPanel, 'edtDescription', 'Açıklama Giriniz');
  edtDescription.Align = alTop;
  edtDescription.Height = 45;

  lblDate = Form1.AddNewLabel(dashboardPanel, 'lblDate', 'Tarih');
  lblDate.Align = alTop;
  lblDate.Height = 25;

  dateEdit = Form1.AddNewProDateEdit(dashboardPanel, 'dateEdit');
  dateEdit.Align = alTop;
  dateEdit.Height = 45;

  btnSave = Form1.AddNewProButton(dashboardPanel, 'btnSave', 'Kaydet');
  btnSave.Align = alTop;
  btnSave.Height = 50;
  Form1.AddNewEvent(btnSave, tbeOnClick, 'btnSaveClick');

  lblLast = Form1.AddNewLabel(dashboardPanel, 'lblLast', 'Son İşlemler');
  lblLast.Align = alTop;
  lblLast.Height = 30;
  
  listView = Form1.AddNewProListView(dashboardPanel, 'listView');
  listView.Align = alClient;
  listView.clProSettings.ViewType = lvList;
  listView.SetclProSettings(listView.clProSettings);

  Form1.FormWaiting.Visible = False;

  loginPanel.Visible = True;
  Form1.Run;
}
https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">



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