Fórum Como alterar uma SP #290208
01/08/2005
0
A tabela interbase tem 13 campos e preciso aumentar mais dois campos
Na SP quando vou salvar os dados na tabela passo as linhas como abaixo
TD.TransactionID := 1;
TD.IsolationLevel := XILReadCommitted;
DM.SQLC.StartTransaction(TD);
Try
begin
Desabilita;
E_Compra.Text:=´Dinheiro´;
DM.SPC_IVendas.Params[1].AsDate:=Date;
DM.SPC_IVendas.Params[2].Value:=ClientDataset1.FieldByname(´Total´).Value;
DM.SPC_IVendas.Params[3].AsInteger := StrtoInt(E_Desconto.Text);
DM.SPC_IVendas.Params[4].AsString:=´Dinheiro´;
DM.SPC_IVendas.Params[5].AsString:=´N´;
DM.SPC_IVendas.Params[6].AsInteger:=0;
DM.SPC_IVendas.Params[7].AsInteger:=0;
DM.SPC_IVendas.Params[8].AsInteger:=0;
DM.SPC_IVendas.Params[9].Value:=0;
DM.SPC_IVendas.Params[10].AsInteger:=StrToInt(E_Caixa.Text);
DM.SPC_IVendas.Params[11].AsString:=(E_Usuario.Text);
DM.SPC_IVendas.Params[12].AsString:=(E_NOME.Text);
DM.SPC_IVendas.Params[13].AsString := Edit8.Text;
DM.SPC_IVendas.Params[14].AsString:=(Edit13.Text);
DM.SPC_IVendas.Execproc;
ClientDataset1.First;
Contador:=ClientDataset1.RecordCount;
Bom acrescentei os dois campos na tabele e estou tentando gravar aparece o erro List Index of Bounds(13), quer dizer que o Params 13 e 14 não estão sendo passado.
Bem minha duvida é onde e quando passar estes campos novos para o componente TSQLStroredProcedure.
Tente refazer a SP, colocando os dois campos, não dar erro, mas não grava na tabela.
Alguem poderia ajudar por favor???
Dpinho
Curtir tópico
+ 0Posts
01/08/2005
Motta
Alterar o objeto do BD
Alterar/Recriar o componente Delphi
Nesta ordem para que o Delphi pegue os parametros da SP
Vc fez isto ??!!
Gostei + 0
01/08/2005
Beppe
Gostei + 0
02/08/2005
Dpinho
Primeiro acrescentei os campos em minha tabela;
Tentei criar a SP, utlizando o Meta da Sp anterior, porem tem umas Dependencies que não consigo criar;
Pos outro Objeto no datamodule, porem ele não assume os novos campos como parametros
Poderia me ajudar a resolver este problema?
Obrigado
Gostei + 0
02/08/2005
Motta
CREATE OR REPLACE PROCEDURE ....
é a sintaxe Oracle (IB não sei mas deve parecido)
Só após alterar a SP vc pode alterar o comp TStoredProc.
Como disse o Beppe o uso de ParamByName simplifica a alteração quando se muda os parametros , eu pessoalmente prefiro trabalhar por indice, mesmo tendo mais trabalho na alteração.
Gostei + 0
08/08/2005
Dpinho
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)