![]() |
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. |
Final Proje Veri Tabanı ve Crud işlemleri |
Yanıt Yaz ![]() |
Yazar | |
lasher777 ![]() Yeni Üye ![]() ![]() Kayıt Tarihi: 27 Mayıs 2025 Konum: Konya Durum: Aktif Değil Puanlar: 6 |
![]() Yanıt Yaz
Alıntı lasher777
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() Gönderim Zamanı: 30 Mayıs 2025 Saat 14:28 |
Merhabalar ben Emre. Final Projemde formdan veri alma ve sqlite ile ekleme, silme, güncelleme işlemleri yapmak istiyorum. Dökümantasyonu okudum videoları izledim. Bir türlü veri tabanını bağlayamadım. Bu yüzden crud işlemlerini de yapamıyorum sanırım..Lütfen yardımcı olur musunuz? yada bir form örneği paylaşabilir misiniz?
var PersonelKayit: Tclform; PersonelScroll: TCLVertScrollBox; // Paneller pnlPersUst, pnlPersOrta, pnlPersAlt, pnlPerAktiflik, pnlPerAdres, pnlPersButton, pnlPersListe: TclProPanel; // Üst Panel Bileşenleri lblAd, lblSoyad, lblTCKN, lblDogumTarihi, lblTelefon, lblEposta: TClProLabel; txtAd, txtSoyad, txtTCKN, txtDogumTarihi, txtTelefon, txtEposta: TclProEdit; // Orta Panel Bileşenleri lblAdres: TClProLabel; txtAdres: TCLMemo; lblPozisyon, lblMaas, lblAktif: TClProLabel; cmbPozisyon: TClProComboBox; txtMaas: TclProEdit; chkAktif: TClProCheckBox; // Button Panel btnTemizle, btnKaydet, btnGuncelle, btnSil: TClProButton; // Liste Panel lblPersonelListesi: TClProLabel; ListViewPersonel: TClProListView; btnListeyiYenile: TClProButton; // Veritabanı ve diğer değişkenler Qry: TClSQLiteQuery; database, password: String; seciliPersonelID: Integer; // Veritabanı bağlantısı ve tablo oluşturma void VeritabaniBaglantisi; { database = Clomosy.AppFilesPath + '"C:\Users\emre\Desktop\CloPersonel\otelyonetimimobil.db3"'; password = ''; try Clomosy.DBSQLiteConnect(database, password); Clomosy.DBSQLiteQuery.SQL.Text = 'CREATE TABLE IF NOT EXISTS Personel('+ 'PersonelID INTEGER PRIMARY KEY AUTOINCREMENT,'+ 'Ad TEXT,'+ 'Soyad TEXT,'+ 'TCKN TEXT,'+ 'DogumTarihi TEXT,'+ 'Telefon TEXT,'+ 'Eposta TEXT,'+ 'Adres TEXT,'+ 'PozisyonID INTEGER,'+ 'PozisyonAdi TEXT,'+ 'Maas REAL,'+ 'AktifMi INTEGER);'; Clomosy.DBSQLiteQuery.OpenOrExecute; except ShowMessage('Veritabanı hatası: ' + LastExceptionMessage); } } // Formu temizleme void Temizle; { txtAd.Text = ''; txtSoyad.Text = ''; txtTCKN.Text = ''; txtDogumTarihi.Text = 'GG/AA/YYYY'; txtTelefon.Text = ''; txtEposta.Text = ''; txtAdres.Text = ''; cmbPozisyon.ItemIndex = -1; txtMaas.Text = ''; chkAktif.Checked = False; seciliPersonelID = 0; } // Pozisyon adından ID alma // Veri kaydetme void VeriKaydet; { /* if (txtAd.Text = '') or (txtSoyad.Text = '') or (txtTCKN.Text = '') or (cmbPozisyon.ItemIndex = -1) then begin ShowMessage('Zorunlu alanları doldurunuz! (Ad, Soyad, TCKN, Pozisyon)'); Exit; } */ try Clomosy.DBSQLiteQuery.SQL.Text = 'INSERT INTO Personel (Ad, Soyad, TCKN, DogumTarihi, Telefon, Eposta, Adres, PozisyonID, PozisyonAdi, Maas, AktifMi) VALUES ('+ QuotedStr(txtAd.Text) + ',' + QuotedStr(txtSoyad.Text) + ',' + QuotedStr(txtTCKN.Text) + ',' + QuotedStr(txtDogumTarihi.Text) + ',' + QuotedStr(txtTelefon.Text) + ',' + QuotedStr(txtEposta.Text) + ',' + QuotedStr(txtAdres.Text) + ',' + //IntToStr(PozisyonIDAl(cmbPozisyon.Items[cmbPozisyon.ItemIndex])) + ',' + QuotedStr(cmbPozisyon.Items[cmbPozisyon.ItemIndex]) + ',' + txtMaas.Text + ',' + //IntToStr(Integer(chkAktif.Checked)) + ')'; Clomosy.DBSQLiteQuery.OpenOrExecute; ShowMessage('Personel başarıyla kaydedildi!'); Temizle; //ListeyiYenile; except ShowMessage('Kayıt hatası: ' + LastExceptionMessage); } } /* // Veri güncelleme void VeriGuncelle; { if seciliPersonelID = 0 then begin ShowMessage('Önce bir personel seçiniz!'); Exit; end try Clomosy.DBSQLiteQuery.SQL.Text = 'UPDATE Personel SET '+ 'Ad = ' + QuotedStr(txtAd.Text) + ',' + 'Soyad = ' + QuotedStr(txtSoyad.Text) + ',' + 'TCKN = ' + QuotedStr(txtTCKN.Text) + ',' + 'DogumTarihi = ' + QuotedStr(txtDogumTarihi.Text) + ',' + 'Telefon = ' + QuotedStr(txtTelefon.Text) + ',' + 'Eposta = ' + QuotedStr(txtEposta.Text) + ',' + 'Adres = ' + QuotedStr(txtAdres.Text) + ',' + //'PozisyonID = ' + IntToStr(PozisyonIDAl(cmbPozisyon.Items[cmbPozisyon.ItemIndex])) + ',' + 'PozisyonAdi = ' + QuotedStr(cmbPozisyon.Items[cmbPozisyon.ItemIndex]) + ',' + 'Maas = ' + txtMaas.Text + ',' + //'AktifMi = ' + IntToStr(Integer(chkAktif.Checked)) + ' WHERE PersonelID = ' + IntToStr(seciliPersonelID); Clomosy.DBSQLiteQuery.OpenOrExecute; ShowMessage('Personel başarıyla güncellendi!'); Temizle; //ListeyiYenile; except ShowMessage('Güncelleme hatası: ' + LastExceptionMessage); } } // Veri silme void VeriSil; { /* if seciliPersonelID = 0 then begin ShowMessage('Önce bir personel seçiniz!'); Exit; end if Clomosy.AppQuestion('Bu personeli silmek istediğinize emin misiniz?', 'Uyarı') then begin try Clomosy.DBSQLiteQuery.SQL.Text = 'DELETE FROM Personel WHERE PersonelID = ' + IntToStr(seciliPersonelID); Clomosy.DBSQLiteQuery.OpenOrExecute; ShowMessage('Personel başarıyla silindi!'); Temizle; ListeyiYenile; except ShowMessage('Silme hatası: ' + LastExceptionMessage); } } } /* Listeyi yenileme void ListeyiYenile; { try Qry = Clomosy.DBSQLiteQueryWith('SELECT PersonelID, Ad || '' '' || Soyad as AdSoyad, TCKN, Telefon, PozisyonAdi FROM Personel ORDER BY Ad, Soyad'); Qry.OpenOrExecute; ListViewPersonel.clLoadListViewDataFromDataset(Qry); except ShowMessage('Listeleme hatası: ' + LastExceptionMessage); } } void ListeElemanSecildi;//(TClComponent Sender) { if ListViewPersonel.ItemIndex <> -1 then begin seciliPersonelID = Qry.FieldByName('PersonelID').AsInteger; try Clomosy.DBSQLiteQuery.SQL.Text = 'SELECT * FROM Personel WHERE PersonelID = ' + IntToStr(seciliPersonelID); Clomosy.DBSQLiteQuery.OpenOrExecute; if not Clomosy.DBSQLiteQuery.EOF then begin txtAd.Text = Clomosy.DBSQLiteQuery.FieldByName('Ad').AsString; txtSoyad.Text = Clomosy.DBSQLiteQuery.FieldByName('Soyad').AsString; txtTCKN.Text = Clomosy.DBSQLiteQuery.FieldByName('TCKN').AsString; txtDogumTarihi.Text = Clomosy.DBSQLiteQuery.FieldByName('DogumTarihi').AsString; txtTelefon.Text = Clomosy.DBSQLiteQuery.FieldByName('Telefon').AsString; txtEposta.Text = Clomosy.DBSQLiteQuery.FieldByName('Eposta').AsString; txtAdres.Text = Clomosy.DBSQLiteQuery.FieldByName('Adres').AsString; // Pozisyon seçimi for i := 0 to cmbPozisyon.Items.Count-1 do begin if cmbPozisyon.Items = Clomosy.DBSQLiteQuery.FieldByName('PozisyonAdi').AsString then begin cmbPozisyon.ItemIndex = i; Break; } } txtMaas.Text = FloatToStr(Clomosy.DBSQLiteQuery.FieldByName('Maas').AsFloat); //chkAktif.Checked = Boolean(Clomosy.DBSQLiteQuery.FieldByName('AktifMi').AsInteger); } except ShowMessage('Veri okuma hatası: ' + LastExceptionMessage); } } } */ { PersonelKayit = Tclform.Create(self); PersonelKayit.SetFormColor('#83a09f', '', clGNone); // Veritabanı bağlantısı VeritabaniBaglantisi; // Scroll Box PersonelScroll = PersonelKayit.AddNewVertScrollBox(PersonelKayit, 'PersonelScroll'); PersonelScroll.Align = alClient; // ÜST PANEL - Temel Bilgiler pnlPersUst = PersonelKayit.AddNewProPanel(PersonelScroll, 'pnlPersUst'); pnlPersUst.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2E3B4E'); pnlPersUst.SetclProSettings(pnlPersUst.clProSettings); pnlPersUst.Align = alTop; pnlPersUst.Height = 200; // Ad lblAd = PersonelKayit.AddNewProLabel(pnlPersUst, 'lblAd', 'Ad'); lblAd.clProSettings.FontColor = clAlphaColor.clWhite; lblAd.clProSettings.FontSize = 12; lblAd.clProSettings.TextSettings.Font.Style = [fsBold]; lblAd.Height = 25; lblAd.Align = alTop; txtAd = PersonelKayit.AddNewProEdit(pnlPersUst, 'txtAd', ''); txtAd.Height = 30; txtAd.Align = alTop; // Soyad lblSoyad = PersonelKayit.AddNewProLabel(pnlPersUst, 'lblSoyad', 'Soyad'); lblSoyad.clProSettings.FontColor = clAlphaColor.clWhite; lblSoyad.clProSettings.FontSize = 12; lblSoyad.clProSettings.TextSettings.Font.Style = [fsBold]; lblSoyad.Height = 25; lblSoyad.Align = alTop; txtSoyad = PersonelKayit.AddNewProEdit(pnlPersUst, 'txtSoyad', ''); txtSoyad.Height = 30; txtSoyad.Align = alTop; // TCKN lblTCKN = PersonelKayit.AddNewProLabel(pnlPersUst, 'lblTCKN', 'TC Kimlik No'); lblTCKN.clProSettings.FontColor = clAlphaColor.clWhite; lblTCKN.clProSettings.FontSize = 12; lblTCKN.clProSettings.TextSettings.Font.Style = [fsBold]; lblTCKN.Height = 25; lblTCKN.Align = alTop; txtTCKN = PersonelKayit.AddNewProEdit(pnlPersUst, 'txtTCKN', ''); txtTCKN.Height = 30; txtTCKN.Align = alTop; // ORTA PANEL - İletişim Bilgileri pnlPersOrta = PersonelKayit.AddNewProPanel(PersonelScroll, 'pnlPersOrta'); pnlPersOrta.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2E3B4E'); pnlPersOrta.SetclProSettings(pnlPersOrta.clProSettings); pnlPersOrta.Align = alTop; pnlPersOrta.Height = 180; // Doğum Tarihi lblDogumTarihi = PersonelKayit.AddNewProLabel(pnlPersOrta, 'lblDogumTarihi', 'Doğum Tarihi'); lblDogumTarihi.clProSettings.FontColor = clAlphaColor.clWhite; lblDogumTarihi.clProSettings.FontSize = 12; lblDogumTarihi.clProSettings.TextSettings.Font.Style = [fsBold]; lblDogumTarihi.Height = 25; lblDogumTarihi.Align = alTop; txtDogumTarihi = PersonelKayit.AddNewProEdit(pnlPersOrta, 'txtDogumTarihi', 'GG/AA/YYYY'); txtDogumTarihi.Height = 30; txtDogumTarihi.Align = alTop; // Telefon lblTelefon = PersonelKayit.AddNewProLabel(pnlPersOrta, 'lblTelefon', 'Telefon'); lblTelefon.clProSettings.FontColor = clAlphaColor.clWhite; lblTelefon.clProSettings.FontSize = 12; lblTelefon.clProSettings.TextSettings.Font.Style = [fsBold]; lblTelefon.Height = 25; lblTelefon.Align = alTop; txtTelefon = PersonelKayit.AddNewProEdit(pnlPersOrta, 'txtTelefon', ''); txtTelefon.Height = 30; txtTelefon.Align = alTop; // E-posta lblEposta = PersonelKayit.AddNewProLabel(pnlPersOrta, 'lblEposta', 'E-posta'); lblEposta.clProSettings.FontColor = clAlphaColor.clWhite; lblEposta.clProSettings.FontSize = 12; lblEposta.clProSettings.TextSettings.Font.Style = [fsBold]; lblEposta.Height = 25; lblEposta.Align = alTop; txtEposta = PersonelKayit.AddNewProEdit(pnlPersOrta, 'txtEposta', ''); txtEposta.Height = 30; txtEposta.Align = alTop; // ALT PANEL - İş Bilgileri pnlPersAlt = PersonelKayit.AddNewProPanel(PersonelScroll, 'pnlPersAlt'); pnlPersAlt.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2E3B4E'); pnlPersAlt.SetclProSettings(pnlPersAlt.clProSettings); pnlPersAlt.Align = alTop; pnlPersAlt.Height = 135; // Pozisyon lblPozisyon = PersonelKayit.AddNewProLabel(pnlPersAlt, 'lblPozisyon', 'Pozisyon'); lblPozisyon.clProSettings.FontColor = clAlphaColor.clWhite; lblPozisyon.clProSettings.FontSize = 12; lblPozisyon.clProSettings.TextSettings.Font.Style = [fsBold]; lblPozisyon.Height = 25; lblPozisyon.Align = alTop; cmbPozisyon = PersonelKayit.AddNewProComboBox(pnlPersAlt, 'cmbPozisyon'); cmbPozisyon.Items.Add('Resepsiyonist'); cmbPozisyon.Items.Add('Kat Hizmetlisi'); cmbPozisyon.Items.Add('Aşçı'); cmbPozisyon.Items.Add('Güvenlik Görevlisi'); cmbPozisyon.Items.Add('Temizlik Görevlisi'); cmbPozisyon.Height = 30; cmbPozisyon.Align = alTop; // Maaş lblMaas = PersonelKayit.AddNewProLabel(pnlPersAlt, 'lblMaas', 'Maaş'); lblMaas.clProSettings.FontColor = clAlphaColor.clWhite; lblMaas.clProSettings.FontSize = 12; lblMaas.clProSettings.TextSettings.Font.Style = [fsBold]; lblMaas.Height = 25; lblMaas.Align = alTop; txtMaas = PersonelKayit.AddNewProEdit(pnlPersAlt, 'txtMaas', ''); txtMaas.Height = 30; txtMaas.Align = alTop; // Aktif mi? pnlPerAktiflik = PersonelKayit.AddNewProPanel(PersonelScroll, 'pnlPerAktiflik'); pnlPerAktiflik.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2E3B4E'); pnlPerAktiflik.SetclProSettings(pnlPerAktiflik.clProSettings); pnlPerAktiflik.Align = alTop; pnlPerAktiflik.Height = 50; lblAktif = PersonelKayit.AddNewProLabel(pnlPerAktiflik, 'lblAktif', 'Aktif Çalışan Mı? '); lblAktif.clProSettings.FontColor = clAlphaColor.clWhite; lblAktif.clProSettings.FontSize = 12; lblAktif.clProSettings.TextSettings.Font.Style = [fsBold]; lblAktif.Height = 25; lblAktif.Align = alTop; chkAktif = PersonelKayit.AddNewCheckBox(pnlPerAktiflik, 'chkAktif', ''); chkAktif.Align = alTop; chkAktif.Height = 25; // Adres pnlPerAdres = PersonelKayit.AddNewProPanel(PersonelScroll, 'pnlPerAdres'); pnlPerAdres.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2E3B4E'); pnlPerAdres.SetclProSettings(pnlPerAdres.clProSettings); pnlPerAdres.Align = alTop; pnlPerAdres.Height = 150; lblAdres = PersonelKayit.AddNewProLabel(pnlPerAdres, 'lblAdres', 'Adres'); lblAdres.clProSettings.FontColor = clAlphaColor.clWhite; lblAdres.clProSettings.FontSize = 12; lblAdres.clProSettings.TextSettings.Font.Style = [fsBold]; lblAdres.Height = 25; lblAdres.Align = alTop; txtAdres = PersonelKayit.AddNewMemo(pnlPerAdres, 'txtAdres', ''); txtAdres.Height = 125; txtAdres.Align = alTop; // Buton Paneli pnlPersButton = PersonelKayit.AddNewProPanel(PersonelScroll, 'pnlPersButton'); pnlPersButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2E3B4E'); pnlPersButton.SetclProSettings(pnlPersButton.clProSettings); pnlPersButton.Align = alTop; pnlPersButton.Height = 60; btnTemizle = PersonelKayit.AddNewProButton(pnlPersButton, 'btnTemizle', 'Temizle'); btnTemizle.Align = alLeft; btnTemizle.Width = pnlPersButton.Width / 4; PersonelKayit.AddNewEvent(btnTemizle, tbeOnClick, 'Temizle'); btnKaydet = PersonelKayit.AddNewProButton(pnlPersButton, 'btnKaydet', 'Kaydet'); btnKaydet.Align = alLeft; btnKaydet.Width = pnlPersButton.Width / 4; PersonelKayit.AddNewEvent(btnKaydet, tbeOnClick, 'VeriKaydet'); btnGuncelle = PersonelKayit.AddNewProButton(pnlPersButton, 'btnGuncelle', 'Güncelle'); btnGuncelle.Align = alLeft; btnGuncelle.Width = pnlPersButton.Width / 4; PersonelKayit.AddNewEvent(btnGuncelle, tbeOnClick, 'VeriGuncelle'); btnSil = PersonelKayit.AddNewProButton(pnlPersButton, 'btnSil', 'Sil'); btnSil.Align = alLeft; btnSil.Width = pnlPersButton.Width / 4; PersonelKayit.AddNewEvent(btnSil, tbeOnClick, 'VeriSil'); // Liste Paneli pnlPersListe = PersonelKayit.AddNewProPanel(PersonelScroll, 'pnlPersListe'); pnlPersListe.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2E3B4E'); pnlPersListe.SetclProSettings(pnlPersListe.clProSettings); pnlPersListe.Align = alClient; pnlPersListe.Height = 300; lblPersonelListesi = PersonelKayit.AddNewProLabel(pnlPersListe, 'lblPersonelListesi', 'Personel Listesi'); lblPersonelListesi.clProSettings.FontColor = clAlphaColor.clWhite; lblPersonelListesi.clProSettings.FontSize = 14; lblPersonelListesi.clProSettings.TextSettings.Font.Style = [fsBold]; lblPersonelListesi.Align = alTop; lblPersonelListesi.Height = 30; btnListeyiYenile = PersonelKayit.AddNewProButton(pnlPersListe, 'btnListeyiYenile', 'Listeyi Yenile'); btnListeyiYenile.Align = alTop; btnListeyiYenile.Height = 30; PersonelKayit.AddNewEvent(btnListeyiYenile, tbeOnClick, 'ListeyiYenile'); // Personel Listesi ListViewPersonel = PersonelKayit.AddNewProListView(pnlPersListe, 'ListViewPersonel'); ListViewPersonel.Align = alClient; ListViewPersonel.clProSettings.ViewType = lvList; ListViewPersonel.clProSettings.ColCount = 1; ListViewPersonel.clProSettings.ItemHeight = 100; ListViewPersonel.clProSettings.ItemSpace = 10; ListViewPersonel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF'); ListViewPersonel.clProSettings.BorderWidth = 2; ListViewPersonel.clProSettings.RoundHeight = 5; ListViewPersonel.clProSettings.RoundWidth = 5; ListViewPersonel.SetclProSettings(ListViewPersonel.clProSettings); PersonelKayit.AddNewEvent(ListViewPersonel, tbeOnItemClick, 'ListeElemanSecildi'); // Başlangıçta listeyi doldur //ListeyiYenile; PersonelKayit.Run; } |
|
![]() |
|
lasher777 ![]() Yeni Üye ![]() ![]() Kayıt Tarihi: 27 Mayıs 2025 Konum: Konya Durum: Aktif Değil Puanlar: 6 |
![]() Yanıt Yaz
Alıntı lasher777
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
cmbpersoneid ögesinin elemanlarını personel tablosundan nasıl form açıldığında doldururum
|
|
![]() |
Yanıt Yaz ![]() |
|
Tweet |
Forum Atla | Forum İzinleri ![]() Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |