Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-10-2010
pedrocrespo35 pedrocrespo35 is offline
Registrado
NULL
 
Registrado: oct 2010
Posts: 4
Poder: 0
pedrocrespo35 Va por buen camino
Unhappy Ayuda con insercion de datos en mysql usando dbExpress

Hola estoy usando el DbExprees con mysql 5.1 en mi form el problema radica en que cuando le doy clic a mi boton para insertar me indica un error en los campos de Fecha y Numero. Mi base de datos esta asi.

Tabla datos
id - autoincremental
Nombre - String
Fecha - Date
Numero - Integer

Ahora en mi boton tengo la siguiente expresion:

Código Delphi [-]
Insert into Datos(id,nombre,fecha,numero) Values (null,'+#39+Edit1.Text+#39+',edit2.text,edit3.text)');

Pero al momento de agregar el dato me marca un error de sintaxys en la expresion. Alguien me puede ayudar me urge. Apenas llevo una semana con Delphi.

Última edición por Casimiro Notevi fecha: 13-10-2010 a las 00:14:38.
Responder Con Cita
  #2  
Antiguo 12-10-2010
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Bienvenido al mundo Delphi, Pedro, y a este club también.

Cita:
Empezado por pedrocrespo35 Ver Mensaje
Insert into Datos(id,nombre,fecha,numero) Values (null,'+#39+Edit1.Text+#39+',edit2.text,edit3.text)');
El problema debe ser que esa no es ni una sentencia Delphi válida ni una sentencia SQL válida (hiciste una mezcla de esos dos lenguajes, que [aún] no es posible en Delphi).

Para ir aclarando el asunto:

¿Qué código escribiste exactamente en el botón?

¿Cuál es el mensaje de error exacto que te aparece en pantalla?

¿Qué componentes añadiste al formulario / módulo de datos para hacer esta operación y qué valores (propiedades) les estableciste?

Danos por favor un poco más de información de lo que quieres obtener y qué estás haciendo (aquí caben mucho más que 140 caracteres). En la medida de ello, las respuestas que necesitas irán emergiendo.

Gracias.

Al González.
Responder Con Cita
  #3  
Antiguo 13-10-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Holam pedrocrespo35, tal y como te comenta Al González, necesitamos más datos, te recomiendo que leas nuestra guía de estilo para poder ayudarte mejor, muchas gracias por tu colaboración y bienvenido a clubdelphi.

Por cierto, el parámetro primero está mal, debes escribir algo así como:

Código Delphi [-]
insert into Datos(id,nombre,fecha,numero) Values (null,QuotedStr(Edit1.Text),edit2.text,edit3.text));

Y el primer parámetro al ser nulo, si es una clave primaria tampoco debe funcionarte, ni la comilla del final... o sea, que mejor haz caso de Al González y explícanos con más detalle.

Última edición por Casimiro Notevi fecha: 13-10-2010 a las 00:18:38.
Responder Con Cita
  #4  
Antiguo 13-10-2010
pedrocrespo35 pedrocrespo35 is offline
Registrado
NULL
 
Registrado: oct 2010
Posts: 4
Poder: 0
pedrocrespo35 Va por buen camino
Gracaias aAl González y Casimiro Notevi, la sentencia que puse la vi en un video de ayuda del delphi, solo que en dicho video se usan 2 campos, el id y el nombre. en el form se encuentra 1 edit y un boton, al boton se le añade la sentencia y al pulsarlo genera el registro. Lo he echo y a funcionado, pero cuando quiero ingresar valores ya sean de fecha o numero siempre me indica un error. Igual la seccion que viene de +#39+Edit1.text+#39+ supuestamente es porque el edit no se puede colocar asi nada mas. Como menciono funciona perfectamente bien pero al querer ingresar fechas y numeros envia el error. Ojala me puedan ayudar. Gracias
Responder Con Cita
  #5  
Antiguo 13-10-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Amigo pedrocrespo35, ¿has leído la guía de estilo?, ahí se explica, entre otras cosas, que debes darnos más información, simplemente.
¿Cómo te vamos a ayudar si sólo nos dices que no funciona?, debes darnos los más datos posibles, base de datos, tablas, campos, tipos de los campos, poner el código de tu programa, etc.
Ya sabes: a mejores preguntas... mejores respuestas
Responder Con Cita
  #6  
Antiguo 13-10-2010
pedrocrespo35 pedrocrespo35 is offline
Registrado
NULL
 
Registrado: oct 2010
Posts: 4
Poder: 0
pedrocrespo35 Va por buen camino
Al inicio del hilo puse que base de datos uso, las tablas etc. Pero lo vuelvo a hacer:

Version Delphi: RAR 2010
TIPO DB: Mysql 5.1
Nombre DB:Prueba
Nombre Tabla: Datos
Campos
id - integer - Autoincremental
Nombre - varchar
Fecha - Date
Numero - Integer

Formulario:
La base de datos se conecta atravez del dbexpress, tengo un SQLConecction, SQLDataset1, DataSetProvider, ClientDataset, DataSource y un SQLQuery.

El SQLDatase lo conecto al SQLConecction, El DataSetProvider al SQLDataset, El ClientDataSet al DatasetProvider y el DataSource al ClientDataset.

Ademas tengo 3 Edit: Edit1.text, Edit2.text, Edit3.text, un boton y un DBGrid.

Ahora en el evento Clic del Boton Realizo lo siguiente:

ClientDataset1.Close;
SQLDataset1.Close;

SQLQuery1.SQL.clear;
SQLQuery.SQL.Add('Insert Into datos(id,nombre, fecha, numero) Values(null,'+#39+Edit1.text++#39+',Edit2.Text, Edit3.text)');

Donde: Edit1 Almacena el nombre, Edit2 La fecha y el Edit 3 el Numero. Ahora he probado solo ingresando el nombre usando lo siguiente:

QLQuery.SQL.Add('Insert Into datos(id,nombre, fecha, numero) Values(null,'+#39+Edit1.text++#39+')'); y funciona perfectamente pero a la hora de realizarlo para que ingrese el Edit2 y el Edit3 me marca un error. Ojala y estaves me logren enteder y una disculpa si es poca la informacion.
Responder Con Cita
  #7  
Antiguo 13-10-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por pedrocrespo35 Ver Mensaje
QLQuery.SQL.Add('Insert Into datos(id,nombre, fecha, numero) Values(null,'+#39+Edit1.text++#39+')'); y funciona perfectamente pero a la hora de realizarlo para que ingrese el Edit2 y el Edit3 me marca un error.
¿Y funcione perfectamente?, supongo que quieres decir que compila sin errores.

Ya te comenté que esa línea está mal, fíjate:

Código Delphi [-]
QLQuery.SQL.Add('Insert Into datos(id,nombre, fecha, numero) Values(null,'+#39+Edit1.text++#39+')');

Estás insertando:
id = null
fecha = +#39+Edit1.text++#39+
numero =

Resumiendo,
- si el campo id es clave primaria no puedes insertar un nulo. Salvo que tengas un generador automático.
- una fecha correcta no es, evidentemente, esto: +#39+Edit1.text++#39+
- numero debe tener un valor porque lo has indicado en los campos, a no ser que tenga un valor por defecto.
- también hay problemas de sintaxis con las comillas ('), no es correcto.

Te aconsejo que extraigas esa sentencia y te fijes con cualquier ejemplo que encontrarás en clubdelphi la forma de hacerlo.
Y ve preguntando según te vayan saliendo mensajes de error.
Responder Con Cita
  #8  
Antiguo 13-10-2010
pedrocrespo35 pedrocrespo35 is offline
Registrado
NULL
 
Registrado: oct 2010
Posts: 4
Poder: 0
pedrocrespo35 Va por buen camino
Casimiro no te vi gracias, pero si gustas te puedo mandar el video de donde saque la informacion para que verifiques y seria una manera mas facil de que me entiendas y me puedas ayudar.
Responder Con Cita
  #9  
Antiguo 14-10-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No creo que sea necesario el video, lo que te recomiendo es que lo verifiques y te asegures que estás haciéndolo igual que ese video (suponiendo que esté bien el video) y que sigas los pasos de cualquier sql que hace 'insert', así verás la sintaxis y te quedará claro.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ayuda consultas Usando Mysql y Zeos JerS Conexión con bases de datos 1 10-12-2009 18:24:33
Conexion a Mysql con dbexpress usando el puerto 3307 breadagast Conexión con bases de datos 3 22-05-2008 14:37:42
Tomar tablas de una base de datos a otra BD usando mysql ibarra2802 MySQL 2 17-08-2007 19:40:59
manejo de errores de base de datos usando dbexpress e interbase ramirezjas Conexión con bases de datos 1 07-07-2007 21:15:13
error de insercion usando adoconnection maxdemian Conexión con bases de datos 2 17-05-2006 19:03:21


La franja horaria es GMT +2. Ahora son las 23:47:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi