Estás en:

Division de variables

Tengo una variable obtenida de dividir otras 2. var=var1/var2 Esta variavle la paso luego a un insert pero debe ir formateada internamente con una coma porque me devuelve el error de que hay distinto nº de argumentos en el insert y el select y no es asi, he probado a darle formato var=format(var1/var2,"###.##") pero sigue dando el error, a ver si alguien sabe porque. gracias.
03/02/06 01:44 hs
Cid
1 Division de variables
Tengo una variable obtenida de dividir otras 2.

var=var1/var2

Esta variavle la paso luego a un insert pero debe ir formateada internamente
con una coma porque me devuelve el error de que hay distinto nº de
argumentos en el insert y el select y no es asi, he probado a darle formato

var=format(var1/var2,"###.##")

pero sigue dando el error, a ver si alguien sabe porque. gracias.


LuisMiguel
n/a
mensajes
puntos
03/02/06 05:33 hs
LuisMiguel
2 Re: Division de variables

Buenas
Lo mejor para evitarse estos errores es evitar la concatenacion para crear
las select, y utilizar procedimientos almacenados, aun asi, si quieres
hacerlo asi, en algunos casos, he utilizado

replace(minumero.tostring("###0.00"),",",".")

para concatenarlos
(revisa la sintaxis, escribo de memoria, y a mis años ya suele fallar, jaja)

--
Suerte
LuisMiguel
"Cid" <profesionalmartinQUITAME@hotmail.com> escribió en el mensaje
news:%236HiKuEKGHA.3852@TK2MSFTNGP09.phx.gbl...
>
> Tengo una variable obtenida de dividir otras 2.
>
> var=var1/var2
>
> Esta variavle la paso luego a un insert pero debe ir formateada
> internamente con una coma porque me devuelve el error de que hay distinto
> nº de argumentos en el insert y el select y no es asi, he probado a darle
> formato
>
> var=format(var1/var2,"###.##")
>
> pero sigue dando el error, a ver si alguien sabe porque. gracias.
>
>




Cid
n/a
mensajes
puntos
03/02/06 20:35 hs
Cid
3 Re: Division de variables
Hola Luis Miguel, gracias por responder, he probado lo que me sugieres pero
me da error, me dice:

Conversion from string "####.##" to type integer is not valid

Hago:
var=Replace((var1/var2)).ToString("####.##"), ",", ".")

salu2.

"LuisMiguel" <lmolinoARROBAyaPUNTOcom> escribió en el mensaje
news:ernDs9JKGHA.2184@TK2MSFTNGP10.phx.gbl...
>
> Buenas
> Lo mejor para evitarse estos errores es evitar la concatenacion para crear
> las select, y utilizar procedimientos almacenados, aun asi, si quieres
> hacerlo asi, en algunos casos, he utilizado
>
> replace(minumero.tostring("###0.00"),",",".")
>
> para concatenarlos
> (revisa la sintaxis, escribo de memoria, y a mis años ya suele fallar,
> jaja)
>
> --
> Suerte
> LuisMiguel
> "Cid" <profesionalmartinQUITAME@hotmail.com> escribió en el mensaje
> news:%236HiKuEKGHA.3852@TK2MSFTNGP09.phx.gbl...
>>
>> Tengo una variable obtenida de dividir otras 2.
>>
>> var=var1/var2
>>
>> Esta variavle la paso luego a un insert pero debe ir formateada
>> internamente con una coma porque me devuelve el error de que hay distinto
>> nº de argumentos en el insert y el select y no es asi, he probado a darle
>> formato
>>
>> var=format(var1/var2,"###.##")
>>
>> pero sigue dando el error, a ver si alguien sabe porque. gracias.
>>
>>

>
>
>



LuisMiguel
n/a
mensajes
puntos
03/02/06 20:36 hs
LuisMiguel
4 Re: Division de variables

Buenas
Entiendo que var es un string? y que es la cadena que concatenaras en el
insert
explica mejor lo que quieres hacer, si es con un poco de codigo mejor

--
Suerte
LuisMiguel
"Cid" <profesionalmartinQUITAME@hotmail.com> escribió en el mensaje
news:%2352YviMKGHA.2992@tk2msftngp13.phx.gbl...
>
> Hola Luis Miguel, gracias por responder, he probado lo que me sugieres
> pero me da error, me dice:
>
> Conversion from string "####.##" to type integer is not valid
>
> Hago:
> var=Replace((var1/var2)).ToString("####.##"), ",", ".")
>
> salu2.
>
> "LuisMiguel" <lmolinoARROBAyaPUNTOcom> escribió en el mensaje
> news:ernDs9JKGHA.2184@TK2MSFTNGP10.phx.gbl...
>>
>> Buenas
>> Lo mejor para evitarse estos errores es evitar la concatenacion para
>> crear las select, y utilizar procedimientos almacenados, aun asi, si
>> quieres hacerlo asi, en algunos casos, he utilizado
>>
>> replace(minumero.tostring("###0.00"),",",".")
>>
>> para concatenarlos
>> (revisa la sintaxis, escribo de memoria, y a mis años ya suele fallar,
>> jaja)
>>
>> --
>> Suerte
>> LuisMiguel
>> "Cid" <profesionalmartinQUITAME@hotmail.com> escribió en el mensaje
>> news:%236HiKuEKGHA.3852@TK2MSFTNGP09.phx.gbl...
>>>
>>> Tengo una variable obtenida de dividir otras 2.
>>>
>>> var=var1/var2
>>>
>>> Esta variavle la paso luego a un insert pero debe ir formateada
>>> internamente con una coma porque me devuelve el error de que hay
>>> distinto nº de argumentos en el insert y el select y no es asi, he
>>> probado a darle formato
>>>
>>> var=format(var1/var2,"###.##")
>>>
>>> pero sigue dando el error, a ver si alguien sabe porque. gracias.
>>>
>>>

>>
>>
>>

>
>
>




Cid
n/a
mensajes
puntos
04/02/06 11:36 hs
Cid
5 Re: Division de variables
Mira lo que quiero es actualizar un registro, para ello hago:

"Update Pedido SET descripcion='" & des & "', precio=" & var
donde var es una variable tipo decimal que se obtiene de dividir dos valores, si los valores dan una division entera, por ejemplo 4 pues todo va bien, el problema es si la division es por ejemplo 4,25 porque entonces la coma creo que la interpreta como si fuera separador de valores en la sentencia y me da un error. Ya he intentado de todo pero no me funciona.




"LuisMiguel" <lmolinoARROBAyaPUNTOcom> escribió en el mensaje news:umaUUnPKGHA.2912@tk2msftngp13.phx.gbl...
>
> Buenas
> Entiendo que var es un string? y que es la cadena que concatenaras en el
> insert
> explica mejor lo que quieres hacer, si es con un poco de codigo mejor
>
> --
> Suerte
> LuisMiguel
> "Cid" <profesionalmartinQUITAME@hotmail.com> escribió en el mensaje
> news:%2352YviMKGHA.2992@tk2msftngp13.phx.gbl...
>>
>> Hola Luis Miguel, gracias por responder, he probado lo que me sugieres
>> pero me da error, me dice:
>>
>> Conversion from string "####.##" to type integer is not valid
>>
>> Hago:
>> var=Replace((var1/var2)).ToString("####.##"), ",", ".")
>>
>> salu2.
>>
>> "LuisMiguel" <lmolinoARROBAyaPUNTOcom> escribió en el mensaje
>> news:ernDs9JKGHA.2184@TK2MSFTNGP10.phx.gbl...
>>>
>>> Buenas
>>> Lo mejor para evitarse estos errores es evitar la concatenacion para
>>> crear las select, y utilizar procedimientos almacenados, aun asi, si
>>> quieres hacerlo asi, en algunos casos, he utilizado
>>>
>>> replace(minumero.tostring("###0.00"),",",".")
>>>
>>> para concatenarlos
>>> (revisa la sintaxis, escribo de memoria, y a mis años ya suele fallar,
>>> jaja)
>>>
>>> --
>>> Suerte
>>> LuisMiguel
>>> "Cid" <profesionalmartinQUITAME@hotmail.com> escribió en el mensaje
>>> news:%236HiKuEKGHA.3852@TK2MSFTNGP09.phx.gbl...
>>>>
>>>> Tengo una variable obtenida de dividir otras 2.
>>>>
>>>> var=var1/var2
>>>>
>>>> Esta variavle la paso luego a un insert pero debe ir formateada
>>>> internamente con una coma porque me devuelve el error de que hay
>>>> distinto nº de argumentos en el insert y el select y no es asi, he
>>>> probado a darle formato
>>>>
>>>> var=format(var1/var2,"###.##")
>>>>
>>>> pero sigue dando el error, a ver si alguien sabe porque. gracias.
>>>>
>>>>
>>>
>>>
>>>

>>
>>
>>

>
>
>

Eduardo Alvarado Meza
n/a
mensajes
puntos
05/02/06 01:35 hs
Eduardo Alvarado Meza
6 Re: Division de variables
porque no usar parametros y comandos?
Jesús López
n/a
mensajes
puntos
05/02/06 12:43 hs
Jesús López
7 Re: Division de variables
"Update Pedido SET descripcion='" & des & "', precio=" & var.ToString(System.Globalization.NumberFormatInfo .InvariantInfo)

Aunque mucho mejor sería usar consultas parametrizadas. ¿Por qué no usar consultas parametrizadas en este caso?

Saludos:

Jesús López
MVP
Cid
n/a
mensajes
puntos
05/02/06 12:43 hs
Cid
8 Re: Division de variables
Me dice que no lo puede convertir a entero.
He de decirte que no es que sea muy cabezon pero no se como se usan parametros en comandos insert y update. salu2.
"Jesús López" <sqlranger.mpv@mpvs.org> escribió en el mensaje news:OuUa7oiKGHA.2184@TK2MSFTNGP10.phx.gbl...
"Update Pedido SET descripcion='" & des & "', precio=" & var.ToString(System.Globalization.NumberFormatInfo .InvariantInfo)

Aunque mucho mejor sería usar consultas parametrizadas. ¿Por qué no usar consultas parametrizadas en este caso?

Saludos:

Jesús López
MVP
Cid
n/a
mensajes
puntos
05/02/06 12:43 hs
Cid
9 Re: Division de variables
Gracias Jesus he encontrado un ejemplo del uso de parametros y ya me funciona...salu2.
"Jesús López" <sqlranger.mpv@mpvs.org> escribió en el mensaje news:OuUa7oiKGHA.2184@TK2MSFTNGP10.phx.gbl...
"Update Pedido SET descripcion='" & des & "', precio=" & var.ToString(System.Globalization.NumberFormatInfo .InvariantInfo)

Aunque mucho mejor sería usar consultas parametrizadas. ¿Por qué no usar consultas parametrizadas en este caso?

Saludos:

Jesús López
MVP
Jesús López
n/a
mensajes
puntos
05/02/06 12:43 hs
Jesús López
10 Re: Division de variables
¿Que no puede convertir a entero qué, cuando, cómo? ¿No es var una variable de tipo Decimal? pues si es así var.ToString(NumberFormatInfo.InvariantInfo). Convierte var en una cadena de caracteres usando el "." como separador decimal.

En lo sucesivo procura darnos todo el código relevante, no sólo un fragmento, necesitamos ver como está declarada la variable, como está declarado el comando, como está definida la tabla y en qué línea de código se produce el error. En fin, generalmente necesitamos conocer muchos más detalles de los que proporcionas.

Hacer inserts updates y deletes parametrizados no es muy diferente de hacer selects parametrizadas. Supongo que estás usando SQL Server como sistema de base de datos y SqlClient ¿no? porque tampoco lo has dicho. El formato de los parámetros varía de un proveedor de datos a otros. Así que ahora me encuentro con un dilema a la hora de explicarte cómo se hacen inserts updates y deletes parametrizados. O bien me arriesgo a explicártelo con SqlClient y que luego resulte que uses Oledb, con lo que he perdido el tiempo, o bien, te lo explico para varios sistemas de base de datos y varios proveedores, con lo que estoy escibiendo más de la cuenta. Mejor será que me digas qué sistema de base de datos usas y qué proveedor antes de explicarte nada.


Saludos:

Jesús López
MVP
Tema Cerrado


Descubre otros temas relacionados
¿Te gusta este tema? Compartí ahora!

©2014 nocturnar.com