Fórum TSQLStoredproc... #52911

23/09/2005

0

Meu problema é bem estranho

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@

Xupacabr@

Responder

Posts

28/09/2005

Afarias

|With SQLStoredProcAlterar do
|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+


Responder

Gostei + 0

28/09/2005

Armando.boza

|With SQLStoredProcAlterar do |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+


Tb quero saber????


Responder

Gostei + 0

28/09/2005

Xupacabr@

Function Jumento:Boolean;
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);


Responder

Gostei + 0

29/09/2005

Armando.boza

[quote:676b76415d=´xupacabr@´]Function Jumento:Boolean;
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


Responder

Gostei + 0

29/09/2005

Vinicius2k

Acalmemo-nos...

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+


Responder

Gostei + 0

29/09/2005

Armando.boza

Acalmemo-nos... 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+


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.


Responder

Gostei + 0

29/09/2005

Xupacabr@

[quote:aeb6d2838d=´xupacabr@´]Function Jumento:Boolean; 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);


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 !




Acalmemo-nos... 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+


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´]
Acalmemo-nos... 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+


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 ... :( )


Responder

Gostei + 0

30/09/2005

Xupacabr@

hummm a bruxa está solta... agora está dando erro de conversão de string VOODOO da silva...


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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar