Muchisimas gracias al parecer el problema era con la palabra "date" que estaba 
reservada y por eso me daba el bateo. Gracias nuevamente.

Saludos

PEPE
  ----- Original Message ----- 
  From: Exec Sistemas 
  To: Pepe Ballaga 
  Sent: Wednesday, October 19, 2011 9:02 AM
  Subject: [c#] problema con campo fecha al insertar en access


  Yo prefiero usar sql.Parameters.AddWithValue("@date", mifecha); (es mas 
corto!) por otro lado me parece que "date" es palabra reservada en la mayoria 
de las bases probá "[date]" o algo parecido

  Saludos Tomas


  2011/10/19 Pepe Ballaga <[email protected]>

    Holaa amigos tengo la siguiente instruccion para ejecutar en .net 2010 y me 
funciona perfectamente hasta que le incluyo tambien el campo de fecha (es el 
ultimo) ¿alguien tiene un ejemplo de como insertar valores de fecha en una 
tabla de access?. aca pongo el ejemplo completo


    OleDbConnection conexion = new OleDbConnection(conect); 

    OleDbCommand comando = new OleDbCommand("delete from TablaImportada", 
conexion); 
    conexion.Open();

    comando.ExecuteNonQuery();

    conexion.Close();



    OleDbCommand

    sql = new OleDbCommand("insert into tablaimportada (cip, csusername, 
cagent, scauthenticated, scomputername, csreferred, rhost, rip, 
rport,timetaken, csbytes, scbytes, csprotocol, soperation, csuri, 
sobjectsource, scstatus, rule, FilterInfo, csNetwork, scNetwork, errorinfo, 
date ) values (@cip, @csusername, @cagent, @scauthenticated, @scomputername, 
@csreferred, @rhost, @rip, @rport, @timetaken, @csbytes, @scbytes, @csprotocol, 
@soperation, @csuri, @sobjectsource, @scstatus, @rule, @FilterInfo, @csNetwork, 
@scNetwork, @errorinfo, @date )", conexion); 

    sql.Parameters.Clear();

    sql.Parameters.Add(

    "@cip", OleDbType.VarChar).Value = item[0]; 
    sql.Parameters.Add(

    "@csusername", OleDbType.VarChar).Value = item[1]; 
    sql.Parameters.Add(

    "@cagent", OleDbType.VarChar).Value = item[2]; 
    sql.Parameters.Add(

    "@scauthenticated", OleDbType.VarChar).Value = item[3]; 
    sql.Parameters.Add(

    "@scomputername", OleDbType.VarChar).Value = item[6]; 
    sql.Parameters.Add(

    "@csreferred", OleDbType.VarChar).Value = item[7]; 
    sql.Parameters.Add(

    "@rhost", OleDbType.VarChar).Value = item[8]; 
    sql.Parameters.Add(

    "@rip", OleDbType.VarChar).Value = item[9]; 
    sql.Parameters.Add(

    "@rport", OleDbType.Numeric).Value = Convert.ToInt32(item[10]); 
    sql.Parameters.Add(

    "@timetaken", OleDbType.Numeric).Value = Convert.ToInt32(item[11]); 
    sql.Parameters.Add(

    "@csbytes", OleDbType.Numeric).Value = Convert.ToInt32(item[12]); 
    sql.Parameters.Add(

    "@scbytes", OleDbType.Numeric).Value = Convert.ToInt32(item[13]); 
    sql.Parameters.Add(

    "@csprotocol", OleDbType.VarChar).Value = item[14]; 
    sql.Parameters.Add(

    "@soperation", OleDbType.VarChar).Value = item[15]; 
    sql.Parameters.Add(

    "@csuri", OleDbType.VarChar).Value = item[16]; 
    sql.Parameters.Add(

    "@sobjectsource", OleDbType.VarChar).Value = item[17]; 
    sql.Parameters.Add(

    "@scstatus", OleDbType.VarChar).Value = item[18]; 
    sql.Parameters.Add(

    "@rule", OleDbType.VarChar).Value = item[19]; 
    sql.Parameters.Add(

    "@FilterInfo", OleDbType.VarChar).Value = item[20]; 
    sql.Parameters.Add(

    "@csNetwork", OleDbType.VarChar).Value = item[21]; 
    sql.Parameters.Add(

    "@scNetwork", OleDbType.VarChar).Value = item[22]; 
    sql.Parameters.Add(

    "@errorinfo", OleDbType.VarChar).Value = item[23].ToString() ; 
    //aca esta el problema con el parámetro de tipo fecha en realidad en 
item[4] solo hay fecha, no hay hora ni minuto ni segundos

    sql.Parameters.Add(

    "@date", OleDbType.Date).Value = Convert.ToDateTime(item[4].ToString()); 
    conexion.Open();

    sql.ExecuteNonQuery();

    conexion.Close(); 



    ¿alguna idea de como solucionar esto?. muuuchas gracias

    PEPE


Responder a