Procedimientos almacenados VB

05/09/2006 - 19:57 por J o h N u S \(PE\) | Informe spam
Tengo un problema al utiliza procedimientos almacenados que contengan el
valor en un campo de tipo decimail (10,3) cuando lo declaro en mi programa
este me ejecuta un error les paso el procedimiento en que puedo estar
fallando o utilizar otro tipo de datos que acepte los decimales en vb 6
podrian darme una mano de como utilizar procedimientos almacenados con el
tipo de datos decimal

Dim cmd As New ADODB.Command
Dim Pr As Parameter
On Error GoTo errINUP

Conexion.BeginTrans

Set cmd.ActiveConnection = Conexion
cmd.CommandText = "sp_PCaj_InUp"
cmd.CommandType = adCmdStoredProc

'este valor me genera un error cuando pongo el tipo de datos decimal
Set Pr = cmd.CreateParameter("@PCAJCOD", adIdecimal, adParamInput,10)
cmd.Parameters.Append Pr
Pr.Value = intCodcaj

cmd.Execute , , adExecuteNoRecords


Conexion.CommitTrans

Exit Sub
errINUP:
Conexion.RollbackTrans
Set cmd = Nothing

End Sub
 

Leer las respuestas

#1 Alejandro Mesa
05/09/2006 - 20:24 | Informe spam
J o h N u S (PE),

Lo que pasa es que usas el metodo CreateParameter del objeto Command, el
cual no permite asignar un valor a la propiedad NumericScale del paramaetro.
Un parametro de tipo numeric o decimal tiene precision y escala.

...
Set Pr = cmd.CreateParameter("@PCAJCOD", adIdecimal, adParamInput,10)
pr.NumericScale = 3
cmd.Parameters.Append Pr
...



AMB


"J o h N u S (PE)" wrote:

Tengo un problema al utiliza procedimientos almacenados que contengan el
valor en un campo de tipo decimail (10,3) cuando lo declaro en mi programa
este me ejecuta un error les paso el procedimiento en que puedo estar
fallando o utilizar otro tipo de datos que acepte los decimales en vb 6
podrian darme una mano de como utilizar procedimientos almacenados con el
tipo de datos decimal

Dim cmd As New ADODB.Command
Dim Pr As Parameter
On Error GoTo errINUP

Conexion.BeginTrans

Set cmd.ActiveConnection = Conexion
cmd.CommandText = "sp_PCaj_InUp"
cmd.CommandType = adCmdStoredProc

'este valor me genera un error cuando pongo el tipo de datos decimal
Set Pr = cmd.CreateParameter("@PCAJCOD", adIdecimal, adParamInput,10)
cmd.Parameters.Append Pr
Pr.Value = intCodcaj

cmd.Execute , , adExecuteNoRecords


Conexion.CommitTrans

Exit Sub
errINUP:
Conexion.RollbackTrans
Set cmd = Nothing

End Sub




Preguntas similares