Arsip: Masalah Paramater pada Procedure ???

more 16 years ago
ranum
saya punya masalah neh, saya mau masukin tabel dari SQL server ke StringGrid, saya coba buiat procedure tapi kok gak bisa ya ... Malah ada pesan error 'not enough actutal paramater'
Ada yang bisa bantu ...???
Coding saya seperti ini :
procedure Utama(Item:Integer);
var
Utama : String;
begin
try
DataModule1.ADOConnection1.BeginTrans;
with DataModule1.ADOQuery1 do
begin
Utama := 'SELECT KodeKls, KlsBrg AS Klasifikasi, COUNT(KdTrans) AS Jumlah'+
'FROM tbl_raw_data'+
'GROUP BY KodeKls, KlsBrg'+
'ORDER BY Jumlah DESC';
DataModule1.ADOQuery1.Active := False;
DataModule1.ADOQuery1.SQL.Add(Utama);
DataModule1.ADOQuery1.Active := True;
end;
DataModule1.ADOConnection1.CommitTrans;
except
DataModule1.ADOConnection1.RollbackTrans;
end;
end;
procedure TItemsetGeneratorForm.FormShow(Sender: TObject);
var
i : integer;
begin
Utama(Utama);
if DataModule1.ADOQuery1.RecordCount <> 0 then
begin
StringGrid1.RowCount := DataModule1.ADOQuery1.RecordCount+1;
for i := 0 to DataModule1.ADOQuery1.RecordCount-1 do
begin
StringGrid1.Cells[0,i+1] := DataModule1.ADOQuery1.Fields[0].AsString;
StringGrid1.Cells[1,i+1] := DataModule1.ADOQuery1.Fields[1].AsString;
StringGrid1.Cells[2,i+1] := DataModule1.ADOQuery1.Fields[2].AsString;
DataModule1.ADOQuery1.Next;
end;
end;
end;

more 16 years ago
delphinewbie
procedure TItemsetGeneratorForm.FormShow(Sender: TObject);
var
i : integer;
begin
Utama(Utama); <- kayanya disini errornya
mungkin sebaiknya anda tidak menggunakan nama prosedur untuk nama variabel
seperti pada prosedur utama anda mendeklarasikan variabel lokal dengan nama
utama juga..

more 16 years ago
ImanD
@ranum
pesan error tersebut memang merujuk pada apa yg di tunjuk @delphinewbie.
klo menurut saya setelah kamu benerin masalah di atas ada error lg yakni procedure utama harus terdaftar pada TItemsetGeneratorForm, nama variable local ga boleh sama dengan nama procedure dan error syntax SQL yg di tampung pada variable local Utama ga ada spasi
procedure TItemsetGeneratorForm.Utama(Item:Integer); // jangan lupa daftarkan pada Private declarations atw Public declarations sesuai kebutuhan
var
Utama : String; // variable ganti
begin
try
DataModule1.ADOConnection1.BeginTrans;
with DataModule1.ADOQuery1 do
begin
Utama := 'SELECT KodeKls, KlsBrg AS Klasifikasi, COUNT(KdTrans) AS Jumlah'+ // jangan lupa tambah spasi di ujung string
'FROM tbl_raw_data'+ // jangan lupa tambah spasi di ujung string atw awal string
'GROUP BY KodeKls, KlsBrg'+ // jangan lupa tambah spasi di ujung string atw awal string
'ORDER BY Jumlah DESC'; // jangan lupa tambah spasi awal string jika di ujung string sebelumnya ga di kasih spasi
DataModule1.ADOQuery1.Active := False;
DataModule1.ADOQuery1.SQL.Add(Utama);
DataModule1.ADOQuery1.Active := True;
end;
DataModule1.ADOConnection1.CommitTrans;
except
DataModule1.ADOConnection1.RollbackTrans;
end;
end;
notes:
parameter Item ga dipake, buat apa ya?
atw jika ga mau di daftar procedure utama simpan di dalam procedure FormShow.
procedure TItemsetGeneratorForm.FormShow(Sender: TObject);
procedure Utama;
var
VarUtama : String;
begin
try
DataModule1.ADOConnection1.BeginTrans;
with DataModule1.ADOQuery1 do
begin
VarUtama := 'SELECT KodeKls, KlsBrg AS Klasifikasi, COUNT(KdTrans) AS Jumlah '+
'FROM tbl_raw_data '+
'GROUP BY KodeKls, KlsBrg '+
'ORDER BY Jumlah DESC ';
DataModule1.ADOQuery1.Active := False;
DataModule1.ADOQuery1.SQL.Add(VarUtama);
DataModule1.ADOQuery1.Active := True;
end;
DataModule1.ADOConnection1.CommitTrans;
except
DataModule1.ADOConnection1.RollbackTrans;
end;
end;
var
i : integer;
begin
Utama;
if DataModule1.ADOQuery1.RecordCount <> 0 then
begin
StringGrid1.RowCount := DataModule1.ADOQuery1.RecordCount+1;
for i := 0 to DataModule1.ADOQuery1.RecordCount-1 do
begin
StringGrid1.Cells[0,i+1] := DataModule1.ADOQuery1.Fields[0].AsString;
StringGrid1.Cells[1,i+1] := DataModule1.ADOQuery1.Fields[1].AsString;
StringGrid1.Cells[2,i+1] := DataModule1.ADOQuery1.Fields[2].AsString;
DataModule1.ADOQuery1.Next;
end;
end;
end;

more 16 years ago
ranum
Terima Kasih semuanya .... Akan saya coba rubah seperti saran bang ImanD :)
Soal paramater item aku khan merujuk pada deklarasi procedure yg aku baca di buku seperti di bawah ini
procedure <Nama Procedure>(Paramater);
<Deklarasi_variabel_Lokal>
Begin
<Pernyataan>;
.....................
.....................
<pernyataan>;
End;
Tapi aku bingung juga mau di kasi paramater apa, akhirnya aku kasi paramater item, meski aku juga bingung paramater item itu dipakai buat apa :D

more 16 years ago
ImanD
@ranum
good job bro, tetap semangat.
saya akan kasih pencerahan sedikit u/ masalah Parameter
Jika prosedur yg kita buat tidak memerlukan parameter maka ga usah pke parameter.
contoh bisa di lihat dari postingku di atas tanpa parameter.
semangat terus ya.

more 16 years ago
ranum
Wait .. nanya Lagi dunk, setelah codingnya aku rubah menjadi seperti ini (Mengikuti Saran bang ImanD )
procedure TItemsetGeneratorForm.FormShow(Sender: TObject);
procedure Utama;
var
VarUtama : String;
begin
try
DataModule1.ADOConnection1.BeginTrans;
with DataModule1.ADOQuery1 do
begin
VarUtama := 'SELECT KodeKls, KlsBrg AS Klasifikasi, COUNT(KdTrans) AS Jumlah '+
'FROM tbl_raw_data '+
'GROUP BY KodeKls, KlsBrg '+
'ORDER BY Jumlah DESC ';
DataModule1.ADOQuery1.Active := False;
DataModule1.ADOQuery1.SQL.Add(VarUtama);
DataModule1.ADOQuery1.Active := True;
end;
DataModule1.ADOConnection1.CommitTrans;
except
DataModule1.ADOConnection1.RollbackTrans;
end;
end;
var
i : integer;
begin
Utama;
if DataModule1.ADOQuery1.RecordCount <> 0 then
begin
StringGrid1.RowCount := DataModule1.ADOQuery1.RecordCount+1;
for i := 0 to DataModule1.ADOQuery1.RecordCount-1 do
begin
StringGrid1.Cells[0,i+1] := DataModule1.ADOQuery1.Fields[0].AsString;
StringGrid1.Cells[1,i+1] := DataModule1.ADOQuery1.Fields[1].AsString;
StringGrid1.Cells[2,i+1] := DataModule1.ADOQuery1.Fields[2].AsString;
DataModule1.ADOQuery1.Next;
end;
end;
end;
Sudah tidak ada pesan error lagi dan sudah bisa aku Run,
Tetapi ketika aku klik menu Form Itemset Generator tiba tiba muncul pesan Debugger Exception Notification yang isinya seperti ini :
"Operation is not allowed when object is closed"
Itu kesalahannya karen apa yak ? Ada yang bisa bantu lagi ?
more 16 years ago
ranum
Ternyata setelah dihilangkan
Try and Except Masalah sudah terselesaikan terima kasih ....
more ...
- Pages:
- 1
reply |
Report Obsolete
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
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 5 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 13 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 13 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 13 years ago
Random Topic
- menampilkan laporan sambil editing database
by emhacho in Hal umum tentang Pascal Indonesia more 16 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 5 years ago - REPORT JUSTIFY
by darsaneit in Hal umum tentang Pascal Indonesia more 13 years ago - butuh penerawangan pada validasi program??????????
by rehatta in Tip n Trik Pemrograman more 18 years ago - Get TDBEdit Value Menggunakan LookUp Grid
by lukersgn in Reporting more 13 years ago - Lagiii n Lagiii ...
by Manz in OOT more 18 years ago - Ada yang merasa jago algoritma? Persoalan baru
by danieljun in Tip n Trik Pemrograman more 18 years ago - Convert String
by syntax_error in Tip n Trik Pemrograman more 17 years ago - popup messsage to client
by nurez in Tip n Trik Pemrograman more 18 years ago - Menampilkan data currency pada ListView
by percyl in Hal umum tentang Pascal Indonesia more 16 years ago