Foros del Web » Programando para Internet » ASP Clásico »

problema al insertar con asp en sqlserver

Estas en el tema de problema al insertar con asp en sqlserver en el foro de ASP Clásico en Foros del Web. tengo un pequeño gran problema.Tengo este codigo para insertar en la base de datos(nota: el telefono y el fax esta definido como numeric de 9) ...
  #1 (permalink)  
Antiguo 23/07/2002, 14:26
 
Fecha de Ingreso: febrero-2002
Ubicación: Santiago
Mensajes: 253
Antigüedad: 22 años, 4 meses
Puntos: 0
problema al insertar con asp en sqlserver

tengo un pequeño gran problema.Tengo este codigo para insertar en la base de datos(nota: el telefono y el fax esta definido como numeric de 9)
funciona bien siempre y cuando ingrese en los valores telefono y fax un numero. pero estos campos pueden ser vacios. ahi esta el problema al insertar me manda este error(antes ya he validado todos los campos)

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Error converting data type varchar to numeric.

/sagef/icrear_financista.asp, line 11
segun yo es porque el
telefono=Request.Form("telefono_financista&qu ot;)
fax=Request.Form("fax_financista")

telefono o el fax tiene el valor nulo. hay alguna forma de arreglarlo

<!--#INCLUDE FILE="scripts/conexion.inc"-->
<%
set conexion = conecta()
rut=Request.Form("rut_financista")
nombre=Request.Form("nombre_financista")
direccion=Request.Form("direccion_financista& quot;)
email=Request.Form("email_financista")
contacto=Request.Form("contacto_financista&qu ot;)
telefono=Request.Form("telefono_financista&qu ot;)
fax=Request.Form("fax_financista")
conexion.execute "INSERT INTO financista VALUES ('"&rut&"' , '"&nombre&"', '"&direccion&"', '"&email&"', '"&contacto&"', '"&telefono&"','"&fax&a mp;"')"
desconecta(conexion)
response.redirect("crear_financista.asp" )
%>

  #2 (permalink)  
Antiguo 23/07/2002, 14:30
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: problema al insertar con asp en sqlserver

Recuerda que si los campos de tu tabla son de tipo numérico los valores que insertes no deben estar rodeados de '

Por ahi puede estar el error.

Saludos

<center>
<a href=http://comunidadguru.com><img border=0 src=http://comunidadguru.com/imagenes/logos/logo.gif></a>
</center>
  #3 (permalink)  
Antiguo 23/07/2002, 14:40
 
Fecha de Ingreso: febrero-2002
Ubicación: Santiago
Mensajes: 253
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: problema al insertar con asp en sqlserver

URJOSE
al tenerlos definidos asi me ingresa bien siempre y cuando tenga un valor en telefono o fax.
como te dije antes este valor puede ser nulo, ahi esta el problema segun yo ya que pienso que la variable telefono o fax tiene el valor null asignado, como lo puedo arreglar
  #4 (permalink)  
Antiguo 23/07/2002, 14:44
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: problema al insertar con asp en sqlserver

Ops , sorry.

Bueno pues tienes dos opciones

1.- Defines en tu tabla que te permita valores nulos en dichos campos.
2.- Validas que el formulario traiga datos, si no trae le asignas valores por default.

If Request.Form(&quot;Telefono&quot;)=&quot;&quot; Then
Telefono=&quot;No proporcionado&quot;
Else
Telefono=Request.Form(&quot;Telefono&quot;)
End If

Saludos



<center>
<a href=http://comunidadguru.com><img border=0 src=http://comunidadguru.com/imagenes/logos/logo.gif></a>
</center>
  #5 (permalink)  
Antiguo 23/07/2002, 14:50
PTW
 
Fecha de Ingreso: diciembre-2001
Mensajes: 43
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: problema al insertar con asp en sqlserver

No hay problema.

Tienes que estas seguro que tu campo permita Nullo, despues simplemente preguntas por el largo de tu variable y si es mayor de cero se la asignas al campo de lo contrario no le asignes nada y eso seria todo.

if len(request.from(variable)) &gt; 0 then
rs(campo_telefono) = request.from(variable)
end if

Saludos.

Webmaster
ProgramaTuWeb.com
[email protected]
http://www.programatuweb.com
  #6 (permalink)  
Antiguo 23/07/2002, 14:52
 
Fecha de Ingreso: febrero-2002
Ubicación: Santiago
Mensajes: 253
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: problema al insertar con asp en sqlserver

esta es la tabla

create table financista
(
rut_financista char(10) not null,
nombre_financista char(30),
direccion_financista char(30),
email_financista char(30),
contacto_financista char(40),
telefono_financista numeric(9),
fax_financista numeric(9)
)

no se porque no me permite valores nulos tengo que hacer algo mas( ah no le tengo que agregar valores por defecto al telefono o fax si el financista no tiene).
maldito error sigue saliendo cuando no ingreso valores

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Error converting data type varchar to numeric.

/sagef/icrear_financista.asp, line 11

  #7 (permalink)  
Antiguo 23/07/2002, 14:58
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: problema al insertar con asp en sqlserver

create table financista
(
rut_financista char(10) not null,
nombre_financista char(30),
direccion_financista char(30),
email_financista char(30),
contacto_financista char(40),
telefono_financista numeric(9) not null,
fax_financista numeric(9) not null
)

Saludos

<center>
<a href=http://comunidadguru.com><img border=0 src=http://comunidadguru.com/imagenes/logos/logo.gif></a>
</center>
  #8 (permalink)  
Antiguo 23/07/2002, 14:58
 
Fecha de Ingreso: febrero-2002
Ubicación: Santiago
Mensajes: 253
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: problema al insertar con asp en sqlserver

ptw el problema es que no puedo ingresar valores en los campos cuando son nulos ayudenme porfa
  #9 (permalink)  
Antiguo 23/07/2002, 15:10
 
Fecha de Ingreso: enero-2002
Ubicación: Yerba Buena - Tucumán
Mensajes: 259
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: problema al insertar con asp en sqlserver

Lo que tienes que hacer aparte de definir que en la tabla esos campos pueden tomar valores nulos es preguntar si ese valor fue ingresado o no (es decir si es vacio o no) y si es vacio no incluirlo en la sentecia del INSERT. Sería así:

If Request.Form(&quot;telefono&quot;) = &quot;&quot; then
SQL = &quot;INSERT INTO tutabla(campo1,campo2,...) VALUES (...)&quot;
else
SQL = &quot;INSERT INTO tutabla(campo1,campo2,...,telefono) VALUES (...&quot; &amp; telefono &amp; &quot;)&quot;

Eso es todo, espero que te sirva

Saludos :cantar:

<center><font face=Verdana size=2>Webmaster de [/CODE]<A href="http://www.salirxtucuman.com.ar" target="_blank"><img src="http://www.efrance.fr/salirxtucuman/images/titulo.gif" border=0 align="absmiddle"></a></center>
  #10 (permalink)  
Antiguo 23/07/2002, 16:09
 
Fecha de Ingreso: febrero-2002
Ubicación: Santiago
Mensajes: 253
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: problema al insertar con asp en sqlserver

cabezota me puedes hechar una manito. este es el codigo

&lt;%
set conexion = conecta()
rut=Request.Form(&quot;rut_financista&quot;)
nombre=Request.Form(&quot;nombre_financista&quot;)
direccion=Request.Form(&quot;direccion_financista& quot;)
email=Request.Form(&quot;email_financista&quot;)
contacto=Request.Form(&quot;contacto_financista&qu ot;)
telefono=Request.Form(&quot;telefono_financista&qu ot;)
fax=Request.Form(&quot;fax_financista&quot;)
conexion.execute &quot;INSERT INTO financista VALUES ('&quot;&amp;rut&amp;&quot;' , '&quot;&amp;nombre&amp;&quot;', '&quot;&amp;direccion&amp;&quot;', '&quot;&amp;email&amp;&quot;', '&quot;&amp;contacto&amp;&quot;', '&quot;&amp;telefono&amp;&quot;','&quot;&amp;fax&a mp;&quot;')&quot;
desconecta(conexion)
response.redirect(&quot;crear_financista.asp&quot; )
%&gt;

la consulta que tengo ahora es la siguiente si al ingresar me ingresan un fax y no un telefono como lo hago para insertar dejo un espacio con comas vacio o no??????
  #11 (permalink)  
Antiguo 23/07/2002, 16:15
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: problema al insertar con asp en sqlserver

Renegado:

Si tu defines en la tabla, como te puse anteriormente, los campos como nulos, no importa que el campo telefono o fax del formulario venga vacio.

Si no quieres definir los campos de la tabla como Not null deberás usar lo que te puse de asignarle a la variable un valor por default.

Saludos



<center>
<a href=http://comunidadguru.com><img border=0 src=http://comunidadguru.com/imagenes/logos/logo.gif></a>
</center>
  #12 (permalink)  
Antiguo 23/07/2002, 16:36
 
Fecha de Ingreso: febrero-2002
Ubicación: Santiago
Mensajes: 253
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: problema al insertar con asp en sqlserver

urjose ya lo arregle lo que pasaba era que en el sql server cuando no le pones nada a algun campo de la tabla te la define por defecto como not null.
gracias igual
  #13 (permalink)  
Antiguo 23/07/2002, 16:42
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: problema al insertar con asp en sqlserver

ops!
creo que me voy a ir a dormir el día de hoy no doy una:

de hecho la solución era así:

create table financista
(
rut_financista char(10) not null,
nombre_financista char(30),
direccion_financista char(30),
email_financista char(30),
contacto_financista char(40),
telefono_financista numeric(9) null,
fax_financista numeric(9) null
)

Sorry

<center>
<a href=http://comunidadguru.com><img border=0 src=http://comunidadguru.com/imagenes/logos/logo.gif></a>
</center>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:06.