Kamis, Februari 04, 2010

Zeos dan Firebird

Entah yang mana duluan, setelah 6 bulan lebih menggunakan Firebird 2.5 beta2 dengan Zeos 6.6.3/6.6.4, tiba-tiba zeos tidak bisa lagi menjalankan Stored Procedure di Firebird dengan baik.

Di zeos 6.6.6 di Delphi 2006 dicoba sbb:

procedure TForm1.Button1Click(Sender: TObject);
begin
try
ZConnection1.Connect;
ZSPGetUserInfo.Close;
ZSPGetUserInfo.ParamByName('NAMALOGIN').AsString := 'Teguh';
//ZSPGetUserInfo.
ZSPGetUserInfo.ExecProc;
Memo1.Clear;
Memo1.Lines.Add('Informasi User');
Memo1.Lines.Add(Trim(ZSPGetUserInfo.ParamByName('EmplCode').AsString));
Memo1.Lines.Add(ZSPGetUserInfo.ParamByName('EmplName').AsString);
Memo1.Lines.Add(ZSPGetUserInfo.ParamByName('DeptName').AsString);
Memo1.Lines.Add(ZSPGetUserInfo.ParamByName('SectName').AsString);
Memo1.Lines.Add(ZSPGetUserInfo.ParamByName('UserEmailAddress').AsString);
Memo1.Lines.Add('Selesai');
except
on E:Exception do
begin
MessageDlg('Fail:'+E.Message,mtWarning,[mbOk],0);
end;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
try
ZConnection1.Connect;
zsp1.Close;
zsp1.ParamByName('NAMALOGIN').AsString
:= 'Teguh';
//ZSPGetUserInfo.
zsp1.Open;
Memo1.Clear;
Memo1.Lines.Add('Informasi User');
Memo1.Lines.Add(Trim(zsp1.FieldByName('EmplCode').AsString));
Memo1.Lines.Add(zsp1.FieldByName('EmplName').AsString);
Memo1.Lines.Add(zsp1.FieldByName('DeptName').AsString);
Memo1.Lines.Add(zsp1.FieldByName('SectName').AsString);
Memo1.Lines.Add(zsp1.FieldByName('UserEmailAddress').AsString);
Memo1.Lines.Add('Selesai');
except
on E:Exception do
begin
MessageDlg('Fail:'+E.Message,mtWarning,[mbOk],0);

end;
end;
end;

Seperti terlihat diatas, sp di jalankan lewat method ExecProc() ataupun Open(). Method Open mengakibatkan nilai disimpan sebagai field, sedangkan method ExecProc memasukkan nilai sebagai paramter.

Tidak ada komentar: