Delphi Can
soru bankasında random ve data çekme - Baskı Önizleme

+- Delphi Can (http://www.delphican.com)
+-- Forum: Delphi (http://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (http://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: soru bankasında random ve data çekme (/showthread.php?tid=3793)



soru bankasında random ve data çekme - sadikacar60 - 11-07-2019

arkadaşlar oğlum 8 sınıfa geçti lgs sınavına girecek 
soru bankası programı yazıyorum 


öncelikle tablodan random olarak soru çekip çözüm sağlıyordum ama geliştirdikçe bazı ihtiyaçlar ortaya çıktı

tabloya ek alanlar ekledim unite  ve katapevi şeklinde
oğlum mesela matematik de olasılık ünitesinden soru çözmek istediğinde tablodaki olasılıkla ilğili bütün soruları gecici bir tabloya 
atıp ordan random yaparak soru çekmek istiyorum hatta çözülen soru yu gecici tablodan silme de mükemmel olurdu.

benim takıldığım yer olasılıkla ilğili soruları gecici tabloya (veya başka bir yöntem) (veya dataset mi ) nasıl çekebilirim.
bu konuda beni yönlendirebilirmisiniz.  bu iş data sete çekerek mi daha iyi olur gecici tablo oluşturarark mı

saygılarımla


Cvp: soru bankasında random ve data çekme - hi_selamlar - 11-07-2019

(11-07-2019, Saat: 12:32)sadikacar60 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.arkadaşlar oğlum 8 sınıfa geçti lgs sınavına girecek 
soru bankası programı yazıyorum 


öncelikle tablodan random olarak soru çekip çözüm sağlıyordum ama geliştirdikçe bazı ihtiyaçlar ortaya çıktı

tabloya ek alanlar ekledim unite  ve katapevi şeklinde
oğlum mesela matematik de olasılık ünitesinden soru çözmek istediğinde tablodaki olasılıkla ilğili bütün soruları gecici bir tabloya 
atıp ordan random yaparak soru çekmek istiyorum hatta çözülen soru yu gecici tablodan silme de mükemmel olurdu.

benim takıldığım yer olasılıkla ilğili soruları gecici tabloya (veya başka bir yöntem) (veya dataset mi ) nasıl çekebilirim.
bu konuda beni yönlendirebilirmisiniz.  bu iş data sete çekerek mi daha iyi olur gecici tablo oluşturarark mı

saygılarımla


Merhabalar,

Bu işlem için FDMemTable, ClientDataSet, VirtualTable gibi memory tabloları kullanabilirsiniz.
Sonraki işlemlerini hafıza/memory tablo üzerinden devam edersiniz.

Kolay gelsin.


soru bankasında random ve data çekme - sadikacar60 - 11-07-2019

LAZARUS için bir öneriniz var mı hocam.
BufDataset1 diye bir şey kullanın diyorlar ama detaylı bilği yok
birde

VTbaglan;

sql_v:= 'select * from TBL_SORULAR'; // where DATE_='''+tarih1+''' ';

Form1.SQLQuery1.Close;
Form1.SQLQuery1.sql.Clear;
Form1.SQLQuery1.sql.add(sql_v);
Form1.SQLQuery1.Open;


Form1.DataSource1.DataSet:=Form1.SQLQuery1;
Form1.DBGrid1.DataSource:=Form1.DataSource1;


yukardaki kodda dbgride bilğileri kolayca dolduruyoruz aynı mantıkla dataset içine bu bilğileri doldurup dataset üzerinden işlem yapamazmıyız

saygılarımla


Cvp: soru bankasında random ve data çekme - cinarbil - 11-07-2019

(11-07-2019, Saat: 19:14)sadikacar60 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.LAZARUS için bir öneriniz var mı hocam.
BufDataset1 diye bir şey kullanın diyorlar ama detaylı bilği yok
birde

  VTbaglan;

  sql_v:=  'select * from TBL_SORULAR';  // where DATE_='''+tarih1+''' ';

  Form1.SQLQuery1.Close;
  Form1.SQLQuery1.sql.Clear;
  Form1.SQLQuery1.sql.add(sql_v);
  Form1.SQLQuery1.Open;


  Form1.DataSource1.DataSet:=Form1.SQLQuery1;
  Form1.DBGrid1.DataSource:=Form1.DataSource1;


yukardaki kodda dbgride bilğileri kolayca dolduruyoruz aynı mantıkla dataset içine bu bilğileri doldurup dataset üzerinden işlem yapamazmıyız

saygılarımla

Hayırlı akşamlar.
 
x_dataset:=TADODATASET; // procedurun var kısmına bunu ekleyin
if not assigned(x_dataset)  then x_Dataset := TADODATASET.Create(nil);  // data set yoksa olurtur
VTbaglan;
 sql_v:=  'select * from TBL_SORULAR';  // where DATE_='''+tarih1+''' ';
 Form1.SQLQuery1.Close;
 Form1.SQLQuery1.sql.Clear;
 Form1.SQLQuery1.sql.add(sql_v);
 Form1.SQLQuery1.Open;
 Form1.DataSource1.DataSet:=Form1.SQLQuery1;
 Form1.DBGrid1.DataSource:=Form1.DataSource1;
x_dataset.dataset := Form1.SQLQuery1;  // burası x_dataset.datasource :=  Form1.SQLQuery1.datasource; olabilir denemeden yazdım
//x_dataset hazır dilediğiniz gibi kullanın. işiniz bitincede.
// x_dataset.free; ile yok edin
// test etmeden gönderdim yazım hatası varsa af ola genel mantın bu

_