I'm having some problems related to comunication with application and Db.
The code below is returning these errors:
Error 1 & 2: "No SQL statement provided"
Error 3: QuerySearch: Cannot perform this operation on a closed dataset.
The sample code bellow is a part of one already taken from the PosgreSql Dataset Component forum post.
I can't understand what im missing, would apreciate a enlightenment from anyone who can help me out with this problem.
Code: Select all
unit fCadastroServicos;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TfrmCadastrarServicos = class(TForm)
lbledtServico: TLabeledEdit;
btnCadastrar: TButton;
procedure btnCadastrarClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmCadastrarServicos: TfrmCadastrarServicos;
implementation
uses fMain, fDataModuleCGE, TClassServicos ;
var Servico : TServicos;
{$R *.dfm}
procedure TfrmCadastrarServicos.btnCadastrarClick(Sender: TObject);
var i: Integer;
begin
dtmCGE.conCGEDB.StartTransaction;
try
dtmCGE.QuerySearch.Open;
for i:= 0 to 10 do
begin
dtmCGE.QuerySearch.Insert;
dtmCGE.QuerySearch.FieldByName('descricao').AsString := 'test_'+IntToStr(i);
//dtmCGE.SPInserirServico.Execute;
dtmCGE.QuerySearch.Post;
end;
dtmCGE.conCGEDB.Commit;
dtmCGE.QuerySearch.Close;
Except
dtmCGE.QuerySearch.RestoreUpdates;
dtmCGE.conCGEDB.Rollback;
raise;
end;
end;
end.
Observations:
-------------
TUniConnection
Code: Select all
object conCGEDB: TUniConnection
ProviderName = 'PostgreSQL'
Port = 5432
Database = 'CGE'
Username = 'postgres'
Password = 'mypassword'
Server = 'localhost'
Connected = True
Left = 36
Top = 18
end
Code: Select all
object PostgreSQLUniProvider: TPostgreSQLUniProvider
Left = 129
Top = 18
end
Code: Select all
object QuerySearch: TUniQuery
Connection = conCGEDB
Left = 219
Top = 18
end
Code: Select all
object SPInserirServico: TUniStoredProc
StoredProcName = 'inserir_servico'
Connection = conCGEDB
Left = 51
Top = 183
ParamData =
CommandStoredProcName = 'inserir_servico'
end
Code: Select all
CREATE TABLE Servicos (
CodServicos Serial NOT NULL,
Descricao TEXT NOT NULL,
PRIMARY KEY(CodServicos)
);