FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Insertar cadena de carácteres
Hola a todos!!!
Mi problema es que necesito insertar en mi base de datos una cadena de caracteres, pero esa cadena es una variable, ya que se escribe por teclado. Mi problema es que usando: Código:
Query1.SQL.Add('INSERT INTO misvideos VALUES (fecha, nombrevideo, "c:video")'); Query1.ExecSQL; Muchas gracias de antemano. Un Saludo |
#2
|
|||
|
|||
Hola
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#3
|
|||
|
|||
Hola;
Muchas gracias pero me da error, yo he insertado estas lineas de codigo: Código:
Query1.SQL.Add('INSERT INTO misvideos VALUES (:fecha, :nombrevideo, :ruta)'); Query1.Parameters.ParamByName('ruta').value:='c:video'; Query1.Parameters.ParamByName('fecha').value:=fecha; Query1.Parameters.ParamByName('nombrevideo').value:=nombrevideo; Un saludo |
#4
|
|||
|
|||
Cita:
Por ejemplo, el campo Fecha pudiera ser del tipo Date por lo que deberias de usar algo así
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#5
|
|||
|
|||
Hola de nuevo;
El error que me da es el siguiente: Project Project1.exe raised exception class EOleException with message 'Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros'. Proceso stopped. Use Step or Run to Continue. y tambien me aparece: Project Project1.exe raised exception class EOleException with message 'Objeto Parameter mal definido. Se proporcionó información incompleta o incoherente'. Proceso stopped. Use Step or Run to Continue. El código utilizado es este: Código:
fecha:=GetLocalT; Query1.SQL.Add('INSERT INTO misvideos VALUES (:fecha, :nombrevideo, :ruta)'); Query1.Parameters.ParamByName('fecha').value:=StrToDate(fecha); Query1.Parameters.ParamByName('nombrevideo').value:=nombrevideo; Query1.Parameters.ParamByName('ruta').value:='c:video'; Query1.ExecSQL; donde la funcion GetLocalT tiene como código: Código:
function GetLocalT: String; var stSystemDate : TSystemTime; begin Windows.GetLocalTime( stSystemDate ); Result := DateToStr( SystemTimeToDateTime( stSystemDate ) ); end; |
#6
|
||||
|
||||
Yo nunca utilizo ".value" porque suele fallar, en tu caso lo haría así:
|
#7
|
||||
|
||||
El problema, como ya mencionaron egostar y kuan-yiu, muy posiblemente se deba al tipo de datos. Cuando usas Query1.Parameters.ParamByName('fecha').value, value es un variant, esto es, una variable que no lleva un tipo de datos específico, de manera que el objeto Query1 no sabe en qué formato mandar el dato al motor de bases.
El problema con la solución que plantea kuan-yiu -me parece- es que no es válida en tu caso, porque tú estás usando Parameters y no Params. Parameters es una colección de TParameter en lugar de TParam, y el problema es que, a diferencia de este último, TParameter no cuenta con los métodos AsDate, AsString, AsInteger, etc. Entonces, lo que debes hacer es indicar explícitamente el tipo de datos del parámetro:
// Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Extraer caracteres de una cadena | MiLLeNPuNk | Varios | 7 | 19-05-2010 21:37:25 |
Eliminar Cadena De Caracteres.... | ZayDun | Internet | 3 | 27-03-2007 21:20:58 |
Buscador de cadena de caracteres | pichi Vignola | Varios | 3 | 11-08-2006 16:51:03 |
eliminar caracteres de una cadena | ibbeth | Firebird e Interbase | 4 | 23-12-2005 23:35:28 |
Cadena de mas de 50 caracteres | luigidean | Tablas planas | 3 | 02-10-2004 03:09:39 |
|