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