Fórum TSQLStoredproc... #52911
23/09/2005
0
Details:
[color=darkred:2cc3642f52]# Systems
Delphi 7
Firebird 1.5
Windows XP[/color:2cc3642f52]
[color=red:2cc3642f52] Program
object SQLConnectionPS: TSQLConnection
ConnectionName = ´Firebird´
DriverName = ´Interbase´
GetDriverFunc = ´getSQLDriverINTERBASE´
LibraryName = ´dbexpint.dll´
LoginPrompt = False
Params.Strings = (
´DriverName=Interbase´
´BlobSize=-1´
´CommitRetain=False´
´Database=c:\psbiolite\PSBIOLITE.Fdb´
´ErrorResourceFile=´
´LocaleCode=0000´
´Password=masterkey´
´RoleName=RoleName´
´ServerCharSet=win1252´
´SQLDialect=3´
´Interbase TransIsolation=ReadCommited´
´User_Name=sysdba´
´WaitOnLocks=True´)
VendorLib = ´c:\psbiolite\fbclient.dll´
Connected = True
Left = 8
Top = 336
end
[/color:2cc3642f52]
[color=brown:2cc3642f52]# SToredProc in Delphi
object SQLStoredProcAlterar: TSQLStoredProc
MaxBlobSize = -1
Params = <
item
DataType = ftInteger
Name = ´ID´
ParamType = ptInput
end
item
DataType = ftString
Name = ´NOME´
ParamType = ptInput
end
SQLConnection = SQLConnectionPS
StoredProcName = ´PROC_ALTER_PS´
Left = 8
Top = 496
end
[/color:2cc3642f52]
[color=green:2cc3642f52] SToredProc in Firebird
SET TERM ^ ;
CREATE PROCEDURE PROC_ALTER_PS (
ID INTEGER,
NOME VARCHAR(60)
AS
begin
UPDATE ´ps´ SET NOME = :NOME
where ´id´ = :id;
WHEN ANY do
exception erro_atualizacao;
END
^
SET TERM ; ^
GRANT SELECT,UPDATE ON ´ps´ TO PROCEDURE PROC_ALTER_PS;
GRANT EXECUTE ON PROCEDURE PROC_ALTER_PS TO SYSDBA;
[/color:2cc3642f52]
[color=blue:2cc3642f52]# Delphi Code
procedure TF_PS.ActionConfirmarExecute(Sender: TObject);
begin
With SQLStoredProcAlterar do
ParamByName(´NOME´).AsString := LabeledEditPS.Text;
Try
SQLStoredProcAlterar.ExecProc;
Except
on E:Exception do
Begin
MessageDlg(E.Message,mtError, [mbok],0 );
Abort;
end;
end;
End;//end do with
end;
[/color:2cc3642f52]
[b:2cc3642f52] PROBLEM
Eu tenho 3 TSQLStoredProc
1 - Para incluir
2 - Para alterar
3 - Para excluir
O 1 e o 3 trabalham bem
2 - Alterar, nunca altera nada.....
Se eu usar a SP, dentro do IBExpert ele funciona bem... sem problemas... altera perfeitamente, ou seja o problema está entre a aplicação e o banco
Mas o código parece estar correto[/b:2cc3642f52]
Xupacabr@
Curtir tópico
+ 0Posts
28/09/2005
Afarias
|ParamByName(´NOME´).AsString := LabeledEditPS.Text;
nome é o único parâmetro q vc tem q definir?!?! em q momento vc define o parâmetro ID?
T+
Gostei + 0
28/09/2005
Armando.boza
Tb quero saber????
Gostei + 0
28/09/2005
Xupacabr@
Var Asnice:LongInt;
Begin
Asnice := FATORIAL(´Perdões´, 1000)´;
If Asnice = 0 Then
Result := False
Else
Result := True
End;
É a função vai retornar JUMENTO=True...
No afã de colar aqui o código, pulei o ID... mas o ID está no programa...
ParamByName(´ID´).AsInteger := StrToInt(LabeledEditID.Text);
Gostei + 0
29/09/2005
Armando.boza
Var Asnice:LongInt;
Begin
Asnice := FATORIAL(´Perdões´, 1000)´;
If Asnice = 0 Then
Result := False
Else
Result := True
End;
É a função vai retornar JUMENTO=True...
No afã de colar aqui o código, pulei o ID... mas o ID está no programa...
ParamByName(´ID´).AsInteger := StrToInt(LabeledEditID.Text);[/quote:676b76415d]
Estávamos só com uma dúvida.
Espero que a palavra ´JUMENTO´ não esteja dirijida para os colegas aqui do forum que responderam, pois se estiver com certeza o moderador vai tomar suas providencias.
Att
Armando
Gostei + 0
29/09/2005
Vinicius2k
Já tive que intervir em discussões com ofensas entre os usuários, mas, sinceramente, é a primeira vez que vejo algum colega ofender a si mesmo. :roll:
Não há nada nas regras sobre isso. Não posso fazer nada... :)
T+
Gostei + 0
29/09/2005
Armando.boza
boa
aproveitando Vinicius ... baixei e to usando o VDOPrint e o VDOUtils, estão funcionando legal ... muito bom mesmo.
pq vc não cria um ´VDOPack´ ou ´VDOLib´ com tudo dentro já .... só uma ideia.
Gostei + 0
29/09/2005
Xupacabr@
Estávamos só com uma dúvida.
Espero que a palavra ´JUMENTO´ não esteja dirijida para os colegas aqui do forum que responderam, pois se estiver com certeza o moderador vai tomar suas providencias.
Att
Armando[/quote:aeb6d2838d]
Bahhhhhhhhh
companheiro, é só compilar a função !
O salto para a evolução começa quando reconhecemos a nossa ignorância !
Definitivamente sou uma besta !
Isso aê, cai no mato amigo !
Eu sou uma besta !!! Eu sou uma besta !!! Eu sou uma besta !!! Eu sou uma besta !!! Eu sou uma besta !!! Eu sou uma besta !!! Eu sou uma besta !!! Eu sou uma besta !!!
Ufa pronto... me sinto até melhor !
[quote:aeb6d2838d=´armando.boza´]
boa
aproveitando Vinicius ... baixei e to usando o VDOPrint e o VDOUtils, estão funcionando legal ... muito bom mesmo.
pq vc não cria um ´VDOPack´ ou ´VDOLib´ com tudo dentro já .... só uma ideia.[/quote:aeb6d2838d]
Opa !
Desvirtuando do assunto, hummm se foi esse seu objetivo tenho certeza
que o moderador vai tomar suas providencias.
:)
#
Continuando....
Desinstalei o Delphi 7, e instalei de novo e permaneceu...
Desinstalei o Delphi 7, e apaguei os diretórios da Borland.... as coisas estavam muito estranhas e como essa minha máquina já passou o Delphi 4,5,6 e 7 achei que deveria em algum lugar nas entranhas do meu pczinho maldito...
Limei,
Sentei o Dedo,
Apaguei literalmente Arquivos de programas/Borland e arquivos comuns/borland
Reinstalei tudo de novo e funcionou...
Caramba ! Se o IBO, e o DBX estão com o mesmo problema... o problema não está neles... é um problema externo a aplicação ...
Pimba !
Manda um beijo na testa do gladstone que está me devendo um chopp
Muito obrigado a todos e um forte abraço do assinante número um da ClubeDelphi (Foi tudo culpa minha ... :( )
Gostei + 0
30/09/2005
Xupacabr@
Olha que esdrúxulo !
//FUNCIONA até aqui.......... /////////////////////////
Case RadioGroupSexo.ItemIndex of
0:P.ParamByName(´SEXO´).AsString := ´M´;
1:P.ParamByName(´SEXO´).AsString := ´F´
end;
//Daqui pra frente começa a dar erro
Case RadioGroupOcupacao.ItemIndex of
0:P.ParamByName(´OCUPACAO´).AsString := ´Medico´;
1:P.ParamByName(´OCUPACAO´).AsString := ´Instrumentador´;
2:P.ParamByName(´OCUPACAO´).AsString := ´Farmaceutico´;
end;
EDatabaseError Convertion error from string ´5.1345634563456434563e´
Ocupação na tabela é VARCHAR 50
Sexo é char 1
Antes de sexo tenho outros campos varchar funcionando bem, tipo nome..
Tenho visto bastante esse problema em DATAS e BLOB, mas em campo string inserindo string hummm
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)