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

Veritabanı

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

Kayıt Tarihi: 19 Ağustos 2024
Konum: Konya
Durum: Aktif Değil
Puanlar: 13
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı MustafaCetin Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Veritabanı
    Gönderim Zamanı: 29 Ağustos 2024 Saat 15:42
Kullanıcı kayıt ve giriş yapabiliyor ama not kaydetmek istediğimde sqlite da tablo oluşturuyor sonra  Not kaydı sırasında bir hata oluştu mesajı geliyor.
var
  anaSayfa, girisSayfa, kayitSayfa, postLoginSayfa: TclForm;
  nameK, surnameK, passwordK: TclProEdit;
  nameG, surnameG, passwordG: TclProEdit;
  kayitButton, girisButton: TclProButton;
  notBasligiEdit, notIcerigiEdit: TclProEdit; 
  VScroll:TCLVertScrollBox;

void ShowAnaSayfa;
{
  if not (Assigned(anaSayfa))
    anaSayfa = TclForm.Create(Self);

  anaSayfa.SetFormBGImage('https://i.hizliresim.com/phhojjq.jpg');

  girisButton = anaSayfa.AddNewProButton(anaSayfa, 'girisButton', 'Giriş Yap');
  girisButton.Margins.Top = 100;
girisButton.Width = 160;
girisButton.Height = 40;
girisButton.clProSettings.RoundWidth = 20;
girisButton.clProSettings.RoundHeight = 20;
girisButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2196F3');
girisButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');


girisButton.SetclProSettings(girisButton.clProSettings);
anaSayfa.AddNewEvent(girisButton, tbeOnClick, 'GirisYap');

  kayitButton = anaSayfa.AddNewProButton(anaSayfa, 'kayitButton', 'Kayıt Ol');
 kayitButton.Margins.Top = 160;
kayitButton.Width = 160;
kayitButton.Height = 40;
kayitButton.clProSettings.RoundWidth = 20;
kayitButton.clProSettings.RoundHeight = 20;
kayitButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50');
kayitButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');

kayitButton.SetclProSettings(kayitButton.clProSettings);
anaSayfa.AddNewEvent(kayitButton, tbeOnClick, 'KayitOl');

  anaSayfa.Run;
}

void ShowPostLoginScreen(userName: string);
var
  welcomeLabel: TclProLabel;
  notAraButton, notEkleButton: TclProButton;
  notAraEdit: TclProEdit;
  notLabel: TclProLabel;
{
  if not (Assigned(postLoginSayfa))
    postLoginSayfa = TclForm.Create(Self);

  postLoginSayfa.SetFormBGImage('https://i.hizliresim.com/km8rak7.png');

  welcomeLabel = postLoginSayfa.AddNewProLabel(postLoginSayfa, 'welcomeLabel', 'Hoşgeldiniz, ' + userName + '!');
  welcomeLabel.Align = alNone;
  welcomeLabel.Position.X = 20;
  welcomeLabel.Position.Y = 120;
  welcomeLabel.Width = 300;
  welcomeLabel.Height = 75;
welcomeLabel.clProSettings.FontSize = 15;
welcomeLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#0be5ae');
welcomeLabel.SetclProSettings(welcomeLabel.clProSettings);


  notLabel = postLoginSayfa.AddNewProLabel(postLoginSayfa, 'notLabel', 'Not Ara:');
  notLabel.Align = alNone;
  notLabel.Position.X = 50;
  notLabel.Position.Y = 240;
  notLabel.Width = 100;
  notLabel.Height = 30;
  notLabel.clProSettings.FontSize = 16;
notLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');
notLabel.SetclProSettings(notLabel.clProSettings);

  notAraEdit = postLoginSayfa.AddNewProEdit(postLoginSayfa, 'notAraEdit', '');
  notAraEdit.Align = alNone;
  notAraEdit.Position.X = 120;
  notAraEdit.Position.Y = 240;
  notAraEdit.Width = 200;
  notAraEdit.Height = 45;
  notAraEdit.clProSettings.RoundWidth = 20;
notAraEdit.clProSettings.RoundHeight = 20;
notAraEdit.SetclProSettings(notAraEdit.clProSettings);

  notAraButton = postLoginSayfa.AddNewProButton(postLoginSayfa, 'notAraButton', 'Ara');
  notAraButton.Align = alNone;
  notAraButton.Position.X = 160;
  notAraButton.Position.Y = 310;
  notAraButton.Width = 120;
  notAraButton.Height = 45;
 notAraButton.clProSettings.RoundWidth = 20;
notAraButton.clProSettings.RoundHeight = 20;
notAraButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50');
notAraButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
notAraButton.SetclProSettings(notAraButton.clProSettings);
postLoginSayfa.AddNewEvent(notAraButton, tbeOnClick, 'NotAra');

  notEkleButton = postLoginSayfa.AddNewProButton(postLoginSayfa, 'notEkleButton', 'Not Ekle');
  notEkleButton.Align = alNone;
  notEkleButton.Position.X = 160;  
  notEkleButton.Position.Y = 350;
  notEkleButton.Width = 120;
  notEkleButton.Height = 45;
 notEkleButton.clProSettings.RoundWidth = 20;
notEkleButton.clProSettings.RoundHeight = 20;
notEkleButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FF5722');
notEkleButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
notEkleButton.SetclProSettings(notEkleButton.clProSettings);
postLoginSayfa.AddNewEvent(notEkleButton, tbeOnClick, 'ShowNotEkleScreen');

  postLoginSayfa.Run;
}

void KaydetNot;
{
  try
    
    Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'MuhabirMobil.db', '');
    ShowMessage('Veritabanına bağlanıldı.');

    
    Clomosy.DBSQLiteQuery.Sql.Text = 
    'SELECT * FROM Notes WHERE note_title = ' + QuotedStr(notBasligiEdit.Text) +
    ' AND note_content = ' + QuotedStr(notIcerigiEdit.Text);
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    
    if not (Clomosy.DBSQLiteQuery.Found)
    {
      Clomosy.DBSQLiteQuery.Sql.Text = 
      'INSERT INTO Notes (note_title, note_content) VALUES (' +
      QuotedStr(notBasligiEdit.Text) + ', ' + QuotedStr(notIcerigiEdit.Text) + ');';
      Clomosy.DBSQLiteQuery.OpenOrExecute;
      ShowMessage('Not başarıyla kaydedildi!');

      // Not eklendikten sonra giriş ekranına dön
      ShowPostLoginScreen('Kullanıcı');  
    }
    else
    {
      ShowMessage('Bu not zaten mevcut.');
    }
  except
    ShowMessage('Not kaydı sırasında bir hata oluştu: ' + LastExceptionMessage);
}
}




void ShowNotEkleScreen;
var
  MyForm: TclForm;
  notBasligiLabel, notIcerigiLabel: TclProLabel;
  notBasligiEdit: TclProEdit;
  notIcerigiScrollBox: TCLVertScrollBox;
  notIcerigiEdit: TclProEdit;
  kaydetButton: TclProButton;
{
  MyForm = TclForm.Create(Self);
  MyForm.SetFormBGImage('https://i.hizliresim.com/km8rak7.png');

  notBasligiLabel = MyForm.AddNewProLabel(MyForm, 'notBasligiLabel', 'Not Başlığı:');
  notBasligiLabel.Align = alNone;
  notBasligiLabel.Position.X = 30;
  notBasligiLabel.Position.Y = 50;

  notBasligiEdit = MyForm.AddNewProEdit(MyForm, 'notBasligiEdit', '');
  notBasligiEdit.Align = alNone;
  notBasligiEdit.Position.X = 130;
  notBasligiEdit.Position.Y = 50;
  notBasligiEdit.Width = 200;
  notBasligiEdit.Height = 30;

  notIcerigiLabel = MyForm.AddNewProLabel(MyForm, 'notIcerigiLabel', 'Not İçeriği:');
  notIcerigiLabel.Align = alNone;
  notIcerigiLabel.Position.X = 30;
  notIcerigiLabel.Position.Y = 100;

  
  notIcerigiScrollBox = MyForm.AddNewVertScrollBox(MyForm, 'notIcerigiScrollBox');
  notIcerigiScrollBox.Align = alNone;
  notIcerigiScrollBox.Position.X = 130;
  notIcerigiScrollBox.Position.Y = 100;
  notIcerigiScrollBox.Width = 200;
  notIcerigiScrollBox.Height = 150;
  notIcerigiScrollBox.ShowScrollBars = True; 

  notIcerigiEdit = MyForm.AddNewProEdit(notIcerigiScrollBox, 'notIcerigiEdit', '');
  notIcerigiEdit.Align = alTop; 
  notIcerigiEdit.Width = notIcerigiScrollBox.Width - 20;
  notIcerigiEdit.Height = notIcerigiScrollBox.Height * 2; 
  notIcerigiEdit.Margins.Top = alTop;
  notIcerigiEdit.TextSettings.VertAlign=1;
  notIcerigiEdit.TextSettings.WordWrap=True;

  kaydetButton = MyForm.AddNewProButton(MyForm, 'kaydetButton', 'Kaydet');
  kaydetButton.Align = alNone;
  kaydetButton.Position.X = 150;
  kaydetButton.Position.Y = 270;
  kaydetButton.Width = 100;
  kaydetButton.Height = 40;
  kaydetButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50');
  kaydetButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
  kaydetButton.SetclProSettings(kaydetButton.clProSettings);
 
  if (Assigned(kaydetButton)) 
  {
    try
      MyForm.AddNewEvent(kaydetButton, tbeOnClick, 'KaydetNot');
    except
      ShowMessage('Event bağlanırken bir hata oluştu.');
    };
  };

 
  MyForm.Run;
}


void GirisYap;
{
  if not (Assigned(girisSayfa))
    girisSayfa = TclForm.Create(Self);

  girisSayfa.SetFormBGImage('https://i.hizliresim.com/phhojjq.jpg');

nameG = girisSayfa.AddNewProEdit(girisSayfa, 'nameG', 'İsminiz:');
nameG.Margins.Top = 150;
nameG.Width = 350;
nameG.Height = 45;
nameG.clProSettings.RoundWidth = 20;
nameG.clProSettings.RoundHeight = 20;
nameG.SetclProSettings(nameG.clProSettings);

surnameG = girisSayfa.AddNewProEdit(girisSayfa, 'surnameG', 'Soyisminiz:');
surnameG.Margins.Top = 210;
surnameG.Width = 350;
surnameG.Height = 45;
surnameG.clProSettings.RoundWidth = 20;
surnameG.clProSettings.RoundHeight = 20;
surnameG.SetclProSettings(surnameG.clProSettings);

passwordG = girisSayfa.AddNewProEdit(girisSayfa, 'passwordG', 'Şifreniz:');
passwordG.Margins.Top = 270;
passwordG.Width = 350;
passwordG.Height = 45;
passwordG.clProSettings.RoundWidth = 20;
passwordG.clProSettings.RoundHeight = 20;
passwordG.Password = True;
passwordG.SetclProSettings(passwordG.clProSettings);

girisButton = girisSayfa.AddNewProButton(girisSayfa, 'girisButton', 'Giriş Yap');
girisButton.Margins.Top = 350;
girisButton.Width = 160;
girisButton.Height = 40;
girisButton.clProSettings.RoundWidth = 20;
girisButton.clProSettings.RoundHeight = 20;
girisButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2196F3');
girisButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');

girisButton.SetclProSettings(girisButton.clProSettings);
girisSayfa.AddNewEvent(girisButton, tbeOnClick, 'KullaniciKontrolEt');

  girisSayfa.Run;
}
void KayitOl;
{
  if not (Assigned(kayitSayfa))
    kayitSayfa = TclForm.Create(Self);

  kayitSayfa.SetFormBGImage('https://i.hizliresim.com/phhojjq.jpg');

  nameK = kayitSayfa.AddNewProEdit(kayitSayfa, 'nameK', 'İsminiz:');
nameK.Margins.Top = 150;
nameK.Width = 350;
nameK.Height = 45;
nameK.clProSettings.RoundWidth = 20;
nameK.clProSettings.RoundHeight = 20;
nameK.SetclProSettings(nameK.clProSettings);

surnameK = kayitSayfa.AddNewProEdit(kayitSayfa, 'surnameK', 'Soyisminiz:');
surnameK.Margins.Top = 210;
surnameK.Width = 350;
surnameK.Height = 45;
surnameK.clProSettings.RoundWidth = 20;
surnameK.clProSettings.RoundHeight = 20;
surnameK.SetclProSettings(surnameK.clProSettings);

passwordK = kayitSayfa.AddNewProEdit(kayitSayfa, 'passwordK', 'Şifreniz:');
passwordK.Margins.Top = 270;
passwordK.Width = 350;
passwordK.Height = 45;
passwordK.clProSettings.RoundWidth = 20;
passwordK.clProSettings.RoundHeight = 20;
passwordK.Password = True;
passwordK.SetclProSettings(passwordK.clProSettings);

kayitButton = kayitSayfa.AddNewProButton(kayitSayfa, 'kayitButton', 'Kayıt Ol');
kayitButton.Margins.Top = 350;
kayitButton.Width = 160;
kayitButton.Height = 40;
kayitButton.clProSettings.RoundWidth = 20;
kayitButton.clProSettings.RoundHeight = 20;
kayitButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50');
kayitButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
kayitButton.SetclProSettings(kayitButton.clProSettings);
kayitSayfa.AddNewEvent(kayitButton, tbeOnClick, 'SqLiteInsertUser');

  kayitSayfa.Run;
}

void SqLiteInsertUser;
{
  try
     Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath+'MuhabirMobil.db', '');
   
    ShowMessage('Veritabanına bağlanıldı.');
   
    Clomosy.DBSQLiteQuery.Sql.Text = 
    'SELECT * FROM Users WHERE user_name = ' + QuotedStr(nameK.Text) + 
    ' AND user_surname = ' + QuotedStr(surnameK.Text);
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    
    if not (Clomosy.DBSQLiteQuery.Found)
    {
      Clomosy.DBSQLiteQuery.Sql.Text = 
      'INSERT INTO Users (user_name, user_surname, user_password) VALUES (' +
      QuotedStr(nameK.Text) + ', ' + QuotedStr(surnameK.Text) + ', ' + QuotedStr(passwordK.Text) + ');';
      Clomosy.DBSQLiteQuery.OpenOrExecute;
      ShowMessage('Başarılı bir şekilde kayıt olundu!');
      
      kayitSayfa.clHide;  
      
      GirisYap;  
    }
    else
    {
      ShowMessage('Bu kullanıcı zaten mevcut.');
    }
  except
    ShowMessage('Kayıt sırasında bir hata oluştu: ' + LastExceptionMessage);
}
}

void SqLiteConnectionCreateTable;
var
  TableExists: Boolean;
{
  try
    Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath+'MuhabirMobil.db', '');
    ShowMessage('Veritabanına bağlanıldı.');

    Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT name FROM sqlite_master WHERE type="table" AND name="Users";';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    
    TableExists = not (Clomosy.DBSQLiteQuery.Eof);
    
    if not (TableExists)
    {
      Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE Users(user_id INTEGER PRIMARY KEY AUTOINCREMENT, user_name TEXT, user_surname TEXT, user_password TEXT)';
      Clomosy.DBSQLiteQuery.OpenOrExecute;
      ShowMessage('Kullanıcı tablosu başarıyla oluşturuldu!');
    }
    else
    {
      ShowMessage('Kullanıcı tablosu zaten mevcut.');
    }

    Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT name FROM sqlite_master WHERE type="table" AND name="Notes";';
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    TableExists = not (Clomosy.DBSQLiteQuery.Eof);

    if not (TableExists)
    {
      Clomosy.DBSQLiteQuery.Sql.Text = 
      'CREATE TABLE Notes(' +
      'note_id INTEGER PRIMARY KEY AUTOINCREMENT, ' +
      'note_title TEXT, ' +
      'note_content TEXT)';
      Clomosy.DBSQLiteQuery.OpenOrExecute;
      ShowMessage('Notes tablosu başarıyla oluşturuldu!');
    }
    else
    {
      ShowMessage('Notes tablosu zaten mevcut.');
    }

  except
   
    ShowMessage('Veritabanı işlemleri sırasında bir hata oluştu: ' + LastExceptionMessage);
  }
}

void KullaniciKontrolEt;
var
  Qry: TClSQLiteQuery;
{
  try
     Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath+'MuhabirMobil.db', '');
    
    ShowMessage('Veritabanına bağlanıldı.');

    Qry = Clomosy.DBSQLiteQueryWith(
      'SELECT * FROM Users WHERE user_name = ' + QuotedStr(nameG.Text) + 
      ' AND user_surname = ' + QuotedStr(surnameG.Text) + 
      ' AND user_password = ' + QuotedStr(passwordG.Text));
    
    Qry.OpenOrExecute;
    
    if (Qry.Found)
    {
      ShowMessage('Başarılı bir şekilde giriş yapıldı!');
      girisSayfa.clHide; 
      ShowPostLoginScreen(nameG.Text);  
    }
    else
    {
      ShowMessage('Kullanıcı bulunamadı. Lütfen tekrar deneyin.');
    }
  except
    ShowMessage('Giriş sırasında bir hata oluştu: ' + LastExceptionMessage);
}
}

{
  SqLiteConnectionCreateTable; 
  ShowAnaSayfa; 
}


Mustafa Çetin
Yukarı Dön
BilalCndn Açılır Kutu İzle
Forum Yöneticisi
Forum Yöneticisi
Simge

Kayıt Tarihi: 09 Ekim 2023
Durum: Aktif Değil
Puanlar: 150
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı BilalCndn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 29 Ağustos 2024 Saat 17:38
Merhaba Mustafa,

Hatanın tam halini paylaşır mısın?
Bilal Candan

Atiker Yazılım Veri İşlem A.Ş.
Software Developer

[email protected]
Yukarı Dön
MustafaCetin Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 19 Ağustos 2024
Konum: Konya
Durum: Aktif Değil
Puanlar: 13
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı MustafaCetin Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 29 Ağustos 2024 Saat 17:44
Not Kaydı sırasında bir hata oluştu:Access violation at address 00A7A564 in moulde'ClomosyLearn.exe'.Read of address 0000000 
hata bu kullanıcı kayıt olabiliyor giriş yapıyor ve bu veriler sqlite da gözüküyor . Not kayıt için sqlite da tablo oluşturuyor ama not için veri oluşturmuyor.
Mustafa Çetin
Yukarı Dön
BilalCndn Açılır Kutu İzle
Forum Yöneticisi
Forum Yöneticisi
Simge

Kayıt Tarihi: 09 Ekim 2023
Durum: Aktif Değil
Puanlar: 150
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (1) Teşekkürler(1)   Alıntı BilalCndn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 29 Ağustos 2024 Saat 18:04
Merhaba Mustafa,

Not ekle sayfasındaki form ve nesneleri 'ShowNotEkleScreen' void'i içerisinde tanımladığın için diğer voidlerin içerisinden erişemezsin. var kısmındaki nesneleri global olarak tanımlarsan sorunun çözülecektir.

İyi çalışmalar dilerim.
Bilal Candan

Atiker Yazılım Veri İşlem A.Ş.
Software Developer

[email protected]
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,078 Saniyede Yüklendi.