Foros del Web » Programación para mayores de 30 ;) » .NET »

Error :"No coinciden los tipos de datos en la expresión de criterios."

Estas en el tema de Error :"No coinciden los tipos de datos en la expresión de criterios." en el foro de .NET en Foros del Web. A ver estoy haciendo un web form de alta de clientes para que cuando un cliente rellene el formulario sus datos sean almacenados en una ...
  #1 (permalink)  
Antiguo 09/08/2005, 07:10
 
Fecha de Ingreso: julio-2005
Mensajes: 13
Antigüedad: 18 años, 9 meses
Puntos: 0
Error :"No coinciden los tipos de datos en la expresión de criterios."

A ver estoy haciendo un web form de alta de clientes para que cuando un cliente rellene el formulario sus datos sean almacenados en una base de datos de Acces, el problema esta en que cuando llego al ejecutar la sentencia comandoInsercion.ExecuteNonQuery() me dice que tengo un error del tipo "No coinciden los tipos de datos en la expresión de criterios.". Mi codigo en C# para la insercion de clientes es el siguiente:

public bool InsertarCliente()
{

bool retorno;

string cadenaConexion;
cadenaConexion = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\p3sept\bd\bdInmobiliaria .mdb";

System.Data.OleDb.OleDbConnection conexion;
conexion = new System.Data.OleDb.OleDbConnection(cadenaConexion);


string cadena;
cadena="";

cadena = "insert into Cliente (NIF,Nombre,Apellidos,Direccion,Poblacion,Provinci a,Pais,F_nacimiento,Profesion,Telefono_Fijo,Telefo no_Movil,Est_civil,N_estudios,CP,Email,H_contacto, Contraseña) values('";
cadena += this.nif+"','";
cadena += this.nombre+"','";
cadena += this.apellidos+"','";
cadena += this.direccion+"','";
cadena += this.poblacion+"','";
cadena += this.provincia+"','";
cadena += this.pais+"','";
cadena += this.fecha_nac+"','";
cadena += this.profesion+"','";
cadena += this.t_fijo+"','";
cadena += this.t_movil+"','";
cadena += this.e_civil+"','";
cadena += this.n_estudios+"','";
cadena += this.cp+"','";
cadena += this.email+"','";
cadena += this.h_contacto+"','";
cadena += this.contrasenya+"')";
try
{
conexion.Open();

System.Data.OleDb.OleDbCommand comandoInsercion = new System.Data.OleDb.OleDbCommand(cadena,conexion);
//comandoInsercion.ExecuteNonQuery();
retorno = true;
}
catch
{
retorno = false;
}
finally
{
conexion.Close();
}
return retorno;
}

Por favor, casi que me va la vida en arreglar este fallo, llevo ya 2 dias loca intentando arreglarlo y na de na.

AYUDARME PORFAVOR
  #2 (permalink)  
Antiguo 09/08/2005, 07:11
 
Fecha de Ingreso: julio-2005
Mensajes: 13
Antigüedad: 18 años, 9 meses
Puntos: 0
Perdon dentro de la cadena va la conexion a la BD que esta bien seguro
  #3 (permalink)  
Antiguo 09/08/2005, 07:14
Avatar de Sayra  
Fecha de Ingreso: diciembre-2004
Mensajes: 365
Antigüedad: 19 años, 4 meses
Puntos: 1
Uhhmm me llama la atanción que tiene esa línea comentada

Cita:
//comandoInsercion.ExecuteNonQuery();
  #4 (permalink)  
Antiguo 09/08/2005, 07:20
 
Fecha de Ingreso: julio-2005
Mensajes: 13
Antigüedad: 18 años, 9 meses
Puntos: 0
la he descomentao, la habia comentado para ver que pasaba, si la comento no pasa nada pero entonces no inserta en la base de datos nada, puesto que es esa sentencia la que realiza las modificaciones en la BD.

A sido un lapsus

Si sabes el fallo Sayra dimelo

Gracias
  #5 (permalink)  
Antiguo 09/08/2005, 07:40
 
Fecha de Ingreso: julio-2005
Mensajes: 13
Antigüedad: 18 años, 9 meses
Puntos: 0
He acatado bastante mas el fallo el problema esta en la fecha de nacimiento que la debo de introdicir con un formato erroneo. Por favor viendo el codigo que os he adjuntado arriba, podriais decirme como soluciono el tema de la fecha???Gracias
  #6 (permalink)  
Antiguo 09/08/2005, 09:48
 
Fecha de Ingreso: junio-2005
Ubicación: El mundo perdido
Mensajes: 51
Antigüedad: 18 años, 10 meses
Puntos: 0
No sé si tu error sea este "Telefo no_Movil" el espacio en tu nombre de columna, pero ese error se edintifica comunmente, cuando tienes mas columnas en values de las que defines o viceversa, o, unos de los datos que estas ingresando no concuerda con el tipo dato de la columna, pero igual pienso que ese espacio ahi puede estar dando el palo...

Saludos!
  #7 (permalink)  
Antiguo 09/08/2005, 14:34
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
this.fecha_nac es de tipo datetime o string ??

Si es para access y estas manejando tipo datetime recuerda pasarlo al formato correcto..

algo así:

Cita:
....,#" + this.fecha_nac.ToString("dd/MM/yyyy") + "#"....
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #8 (permalink)  
Antiguo 10/08/2005, 01:20
 
Fecha de Ingreso: julio-2005
Mensajes: 13
Antigüedad: 18 años, 9 meses
Puntos: 0
Muchas gracias a todos por vuestras respuestas, Rootk tenias toda la razon mil gracias porque la fecha era datatime.

Muchas gracias a todos de verdad
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 06:46.