FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema para insertar un dato de tipo fecha en SQL Server 2000
Estimados
Buenas Noches, tengo el siguiente problema: En una tabla tengo un campo fecha definido como Smalldatetime, cuando creo un procedimiento almacenado en el motor este parametro debe ser pasado como String para que pueda ser guardado. Si creo este mismo procedimiento almacenado (de insercion de registro en la tabla) mediante codigo delphi que seria ..... datamodule.Adoquery.SQL.ADD(Insert Into nTabla Values(:campo1,:campo2,:campo3)) donde el campo2 es de tipo smalldatetime me aparece un error que arroja el motor que me impide realizar la insercion. el resto de la instruccion es datamodule.Adoquery.Parameters.Parambyname('campo1').value:=dato1; datamodule.Adoquery.Parameters.Parambyname('campo2').value:=dato2; datamodule.Adoquery.Parameters.Parambyname('campo3').value:=dato3; ..... Si alguien ya paso por esto y lo pudo solucionar le agradecere me cuente que tengo que corregir en el codigo. Saludos Alejandro Arancibia CHILE ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ FUERZA MINEROS !!!!!!!!!!!!!!!!!!
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara ....... |
#2
|
||||
|
||||
El problema es que SQL Server permite la inserción de fechas depende del formato de fecha con el que esté configurado el servidor, un formato universal es el siguiente:
yyyymmdd por ejemplo si tienes la fecha 24-set-2010 debes convertirlo a este valor: 20100924 Saludos
__________________
self.free; |
#3
|
||||
|
||||
creo que el problema de entrada es que no deberías de tener que hacer ninguna conversión de texto a fecha o viceversa...
sql server maneja, define y distingue perfectamente los tipos de datos para las fechas.
__________________
|
#4
|
|||
|
|||
Lamentablemente al pasar el dato como fecha desde el datetimepicker1.date al parametro crenado por codigo la instruccion de insercion arroja un error.
Luego probare lo que suguieren acerca del pasar la fecha en formato yyyymmdd Gracias por sus comentarios y luego les cuento que sucedio. Saludos Alejandro Arancibia CHILE
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara ....... |
#5
|
||||
|
||||
Pues habría que ver como le estas pasando el parámetros y cuál es el error que te marca.
Lo siguiente funciona perfecto en SQL Server 2000 - 2008:
si tu campo es de tipo "tiempo" pues bastaría con enviar solo el tiempo. Es decir, .Time en lugar de DateTime.
__________________
|
#6
|
|||
|
|||
El error que arroja el motor es el Siguiente:
[Microsoft][ODBC SQL Server driver] Caracteristica opcional no implementada Utilizando el ejemplo que dejastes que es el mismo que tengo en mi codigo. Saludos
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara ....... |
#7
|
|||
|
|||
Si aún no has solucionado tu problema podrías probar con esto:
a) parambyname('fecha').AsDateTime := Date; b) parambyname('Fecha').asstring := formatdatetime('mm/dd/yyyy',Date); c) parambyname('Fecha').asstring := formatdatetime('yyyy/mm/dd',Date); Es posible que te estés conectando a la base de datos a través de obdc, si es el caso verifica el idioma que está predefinido para la base de datos. Ok, espero que te sirva. |
#8
|
|||
|
|||
Filtro por fecha
Finalmente nada funciono y tube que crear el procedimiento almacenado en el motor de base de datos SQL SERVER 2000.
La idea era realizar las consultas desde el codigo del programa y no tener que hacer un procedimiento almacenado por cada consulta. Gracias a todos quienes aportaron.. un dato mas con SQL SERVER 2005 no hay ningun problema con las fechas.
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara ....... |
#9
|
||||
|
||||
Hola Alejandro
has probado con la inserción de datos desde el mismo Sql... quisas sea un problema de configuracion como dicen por ahí... en algunas ocaciones te puede dar problemas hasta el separador de Fechas... yo tenia en un datetimepicker como separador el guion "-"... y cuando hacia el insert me daba error... asi que probe con el slash "\" y tambien cambie ese parametro en la configuración regional del computador.. y santo remedio yo realizo la inserción desde delphi como en el ejemplo que te dejo ContraVeneno... Salu2 PS: Otro Chileno más que utiliza Delphi... que bien.. ya no somos tan poquitos..
__________________
BlueSteel |
#10
|
|||
|
|||
La solución
aquí esta el codigo por si le sirve a alguien mas
SQL.Add('where ((fecnac>=Convert(datetime,:lv_desde,102)) and (fecnac<=Convert(datetime,:lv_hasta,102)))'); Parameters.ParamByName('lv_desde').Value:=DateTimePicker1.date; Parameters.ParamByName('lv_hasta').Value:=DateTimePicker2.date; Pd: Con la inserción del campo fecha no tengo problemas solo al consultar en un rango de fechas. Saludos
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara ....... |
#11
|
||||
|
||||
Cita:
pero en que momento preguntas por como hacer una consulta.... siempre hablas de insertar un dato... Aqui por ejemplo.. tengo una consulta de Ordenes durante un tiempo definido...
Bueno... Salu2
__________________
BlueSteel |
#12
|
|||
|
|||
Sorry
Perdon pero este tema ya me tenia un poco confundido, te envie un mensaje a tu correo te llego?
Saludos
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara ....... |
#13
|
||||
|
||||
Cita:
Salu2
__________________
BlueSteel |
#14
|
|||
|
|||
Mensaje Correo
Te envie un mensaje privado y uno a tu correo esto lo obtengo de tu perfil pero claro esta no aparece ninguna direccion solo un Link.
Si puedes me envias tu correo a alerob25@gmail.com Espero no estar cometiendo una falta y que luego el administrador o el moderador me de un buen reto. Saludos
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara ....... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Fecha de SQL Server 2000 | atrus | MS SQL Server | 2 | 07-01-2008 17:37:44 |
Convertir Campo en SQL SERVER a otro tipo de dato | subzero | MS SQL Server | 1 | 29-06-2007 02:07:54 |
problema al insertar con MS SQL Server 2000 | alastor | MS SQL Server | 13 | 07-11-2006 16:57:24 |
problema al insertar dato tipo date a un stringGrid | emil | SQL | 2 | 11-07-2003 18:41:34 |
|