Arsip: Randomize Query

 
user image
more 16 years ago

syntax_error

hai kakak2 master delphi sekalian....q ada coding randomize kaya gini nich....
procedure TForm1.FormCreate(Sender: TObject);
begin
 with qCekDosen do
 begin
  SQL.Clear;
  SQL.Add('SELECT Nama_Core FROM core');
  Open;
  while not qCekDosen.Eof do
  begin
   cbKategori.Items.Add(qCekDosen['Nama_Core']);
   qCekDosen.Next;
  end;
 end;
 cbKategori.ItemIndex := 0;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var List_Dosen : array of string;
    i, Jml_Pembimbing, Jml_Penguji1, Jml_Penguji2 : integer;
    Acak_Pembimbing, Acak_Penguji1, Acak_Penguji2 : string;
begin
 if cbKategori.Text = '' then Exit;
  case cbKategori.ItemIndex of
   0 : Kategori := '1';
   1 : Kategori := '2';
   2 : Kategori := '3';
   3 : Kategori := '4';
   4 : Kategori := '5';
   5 : Kategori := '6';
  end;
  
 //====================[Ni Buat Ngacak Pembimbingnya]=========================//
 with qCekDosen do
 begin
  SQL.Clear;
  SQL.Add('SELECT COUNT(kode_core) FROM core_dosen WHERE kode_core='+Kategori+' '+
          'AND total_bimbing=(SELECT MIN(total_bimbing) FROM core_dosen '+
          'WHERE kode_core='+Kategori+')');
  Open;
  Jml_Pembimbing := qCekDosen['COUNT(kode_core)'];
  
  SQL.Clear;
  SQL.Add('SELECT kode_dosen FROM core_dosen WHERE kode_core='+Kategori+' '+
          'AND total_bimbing=(SELECT MIN(total_bimbing) FROM core_dosen '+
          'WHERE kode_core='+Kategori+')');
  Open;
 end;
 SetLength(List_Dosen, Jml_Pembimbing);
 for i := 0 to High(List_Dosen) do
 begin
  List_Dosen[i] := qCekDosen['kode_dosen'];
  qCekDosen.Next;
 end;
 Randomize;
 Acak_Pembimbing := RandomFrom(List_Dosen);
 //=====================[Ni Buat Ngacak Penguji 1]===========================//
 with qCekDosen do
 begin
  SQL.Clear;
  SQL.Add('SELECT COUNT(kode_core) FROM core_dosen WHERE kode_core='+Kategori+' '+
          'AND total_uji1=(SELECT MIN(total_uji1) FROM core_dosen '+
          'WHERE kode_core='+Kategori+') AND kode_dosen <> "'+Acak_Pembimbing+'"');
  Open;
  Jml_Penguji1 := qCekDosen['COUNT(kode_core)'];
  SQL.Clear;
  SQL.Add('SELECT kode_dosen FROM core_dosen WHERE kode_core='+Kategori+' '+
          'AND total_uji1=(SELECT MIN(total_uji1) FROM core_dosen '+
          'WHERE kode_core='+Kategori+') AND kode_dosen <> "'+Acak_Pembimbing+'"');
  Open;
 end;
 SetLength(List_Dosen, Jml_Penguji1);
 for i := 0 to High(List_Dosen) do
 begin
  List_Dosen[i] := qCekDosen['kode_dosen'];
  qCekDosen.Next;
 end;
 Randomize;
 Acak_Penguji1 := RandomFrom(List_Dosen);
 //=====================[Ni Buat Ngacak Penguji 2]===========================//
 with qCekDosen do
 begin
  SQL.Clear;
  SQL.Add('SELECT COUNT(kode_core) FROM core_dosen WHERE '+
          'total_uji2=(SELECT MIN(total_uji2) FROM core_dosen) '+
          'AND kode_dosen <> "'+Acak_Pembimbing+'" AND kode_dosen <> "'+Acak_Penguji1+'"');
  Open;
  Jml_Penguji2 := qCekDosen['COUNT(kode_core)'];
  SQL.Clear;
  SQL.Add('SELECT kode_dosen FROM core_dosen WHERE '+
          'total_uji2=(SELECT MIN(total_uji2) FROM core_dosen) '+
          'AND kode_dosen <> "'+Acak_Pembimbing+'" AND kode_dosen <> "'+Acak_Penguji1+'"');
  Open;
 end;
 SetLength(List_Dosen, Jml_Penguji2);
 for i := 0 to High(List_Dosen) do
 begin
  List_Dosen[i] := qCekDosen['kode_dosen'];
  qCekDosen.Next;
 end;
 Randomize;
 Acak_Penguji2 := RandomFrom(List_Dosen);
 //================[Masukin Data dan Update Status Dosen =====================//
 with qInsertMhs do
 begin
  SQL.Clear;
  SQL.Add('INSERT INTO ta VALUES(:NIM, :Pembimbing, :Penguji1, :Penguji2)');
  Params.ParamByName('NIM').Value := NIM.Text;
  Params.ParamByName('Pembimbing').Value := Acak_Pembimbing;
  Params.ParamByName('Penguji1').Value := Acak_Penguji1;
  Params.ParamByName('Penguji2').Value := Acak_Penguji2;
  Execute;
  SQL.Clear;
  SQL.Add('UPDATE core_dosen SET total_bimbing=total_bimbing+1 '+
          'WHERE kode_dosen="'+Acak_Pembimbing+'" AND kode_core='+Kategori+'');
  Execute;
  SQL.Clear;
  SQL.Add('UPDATE core_dosen SET total_uji1=total_uji1+1 '+
          'WHERE kode_dosen="'+Acak_Penguji1+'" AND kode_core='+Kategori+'');
  Execute;
  SQL.Clear;
  SQL.Add('UPDATE core_dosen SET total_uji2=total_uji2+1 '+
          'WHERE kode_dosen="'+Acak_Penguji2+'"');
  Execute;
 end;
end;
kira2 gimana ya caranya meminimasi coding nya.....kebetulan aku pake komponen MySQLDAC...kira2 ada nggak yach tips triknya biar hemat dalam coding nya gitu?... q dah nyoba2 masukin query nya ke dalam sebuah procedure / function biar nggak ngulang2 querynya itu....tapi kok malah error yach...?? mohon pencerahannya.... :D
Ž°ØgÌŽ°0BÑŽ°°¹
user image
more 16 years ago

syntax_error

hai kakak2 master delphi sekalian....q ada coding randomize kaya gini nich....
procedure TForm1.FormCreate(Sender: TObject);
begin
 with qCekDosen do
 begin
  SQL.Clear;
  SQL.Add('SELECT Nama_Core FROM core');
  Open;
  while not qCekDosen.Eof do
  begin
   cbKategori.Items.Add(qCekDosen['Nama_Core']
              
user image
more 16 years ago

mambamaestro

function dalam mysql? hemm... sptnya gak bisa buat perintah sql. storeprocedure mysql? hemm... sptnya, gak bisa di-select (diperlakukan spt tabel, walo isinya select tabel), beda dengan ms sql server
user image
more 16 years ago

deLogic

@syntax_error: btw fungsi yang sudah dibikin seperti apa?
user image
more 16 years ago

syntax_error

jadi query2 nya ituh aku simpen ke dalem function / procedure gitu mas....biar hemat codingnya.....khan nanti tinggal panggil function / procedurenya....so lebih hemat codingnya. tapi aku nyoba kok nggak isa, apa emang nggak bisa yach?
user image
more 16 years ago

syntax_error

nggak jadi nanya mas....hehe...kmaren nyoba dah bisa....wah...kurang ngoprex2 nich gue....kesusu nanya....maap master2 semua...
more ...
  • Pages:
  • 1
Share to

AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now: https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com