Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Form Oluşturma > TclForm Oluşturma
  Aktif Konular Aktif Konular RSS - Final Proje Veri Tabanı ve Crud işlemleri
  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.

Final Proje Veri Tabanı ve Crud işlemleri

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

Kayıt Tarihi: 27 Mayıs 2025
Konum: Konya
Durum: Aktif Değil
Puanlar: 6
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı lasher777 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Final Proje Veri Tabanı ve Crud işlemleri
    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;
}

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

Kayıt Tarihi: 27 Mayıs 2025
Konum: Konya
Durum: Aktif Değil
Puanlar: 6
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı lasher777 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 30 Mayıs 2025 Saat 22:23
cmbpersoneid ögesinin elemanlarını personel tablosundan nasıl form açıldığında doldururum

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,047 Saniyede Yüklendi.