Estás en: Inicio ›
Foros
›
› Division de variablesParticipa en el tema Division de variables en el foro Software de la categoría Informática y crea una nueva pregunta sobre Informática y Software para obtener la mejor respuesta. |
| 03/02/06 02: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. | |
| |
| n/a mensajes puntos | 03/02/06 06: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. > > |
| |
| n/a mensajes puntos | 03/02/06 21: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. >> >> > > > |
| |
| n/a mensajes puntos | 03/02/06 21: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. >>> >>> >> >> >> > > > |
| |
| n/a mensajes puntos | 04/02/06 12: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. >>>> >>>> >>> >>> >>> >> >> >> > > > |
| |
| n/a mensajes puntos | 05/02/06 02:35 hs |
| |
| n/a mensajes puntos | 05/02/06 13: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 |
| |
| n/a mensajes puntos | 05/02/06 13: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 |
| |
| n/a mensajes puntos | 05/02/06 13: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 |
| |
| n/a mensajes puntos | 05/02/06 13: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 |
| |