FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
query no Graba , se cierra
Hola buenos dias ;dios los vendiga
el problema que tengo es el siguiente procedure TFclienteN.BitBtn1Click(Sender: TObject); begin with Query1 do begin close; sql.clear; SQL.add('INSERT INTO clientes (IDcliente,Nombre_Cliente,Apellido,Dirreccion,Cedula,Telefono,)'); SQL.add ( 'VALUE ('+ inttostr (edit6.text)+','+edit1.Text+','+edit3.Text+','+edit4.text+','+edit2.Text+','+edit4.Text+')'); end;es el codigo de un voton quiero que graba y quiero cambiar el valor de el edit uno a integer inttostr (edit6.text) pero me da erroer cuando ago esa comvercion |
#2
|
||||
|
||||
Lo que espera intToStr es un entero, sin embargo lo que hay en el Edit6 es un texto, de ahí que dé error.
Debes tener en cuenta los tipos de datos: Imaginando que IDCLIENTE es un entero, el sql debe quedar así: tal y como lo haces ahora mismo quedaría así:
Como ves no hay comillas simples para que el sql entienda que nombre1 es un texto, deberás usar algo así:
como ves es bastante lioso, es preferible usar parámetros en el sql Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 12-12-2006 a las 18:54:13. |
#3
|
|||
|
|||
Base de datos en access , idcliente lave primaria , y es numerica
Recuerda que no me graba , el codigo |
#4
|
||||
|
||||
Pues muchas gracias, parece que me has leído la mente
La verdad, inicialmente creí que era problemas por los tipos de datos que enviabas y los que la base de datos esperaba, así que hice las preguntas a las cual has contestado. Revisando el código entendí por donde iban los tiros y edité mi mensaje cambiándolo totalmente, mientras redactaba el mensaje se ve que has llegado. Bueno espero que ahora si leas mi mensaje anterior. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
||||
|
||||
Hola juanmaster
Segun veo: No se porque pero me suena que cierras, la tabla y luego tratas de insertar. Para mi nunca insertaras nada en un query o tabla cerrado. Yo lo haria asi: Puede ser que me equivoque en el open, si no camina asi, ponlo antes del end. Saludos |
#6
|
||||
|
||||
El codigo anterior queda mas legible y no necesitas concatenar cadenas para formar la sentencia. Obviamente tienes que validar los Edits para que los que tengan que llevar solo números efectivamente los lleven para que al momento de hacer el query no haya problema.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#7
|
|||
|
|||
probelma resuelto , ahora necestito es savar el la cantidad maxima del idcliente , para cuando balla a a pedir un regostro nuevo m genere un numero de idcliente que estaba mas uno
DBEdit2.SetFocus; DBEdit1.text:=1+query1.sql.Add('select max(idcliente)from clientes'); quiero buscar el idcliente el registro mas alto y sumarle uno para que se genere progresibamente los numeros pero el codigo esta malo :s |
#8
|
||||
|
||||
Te recomiendo usar mejor un campo autoincrementado para guardar idcliente, de esta forma el motor de BD automáticamente irá aumentándo el número y nos ahorramos todo el código anterior.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#9
|
|||
|
|||
perdon pero tengo el campo id cliente auto increme pero me;
me da error lo que me diste dataset no int edit or insert mode |
#10
|
||||
|
||||
Si pusieras un poco más de código seria mas facil para todos...No se en que momento ejecutas las rutinas de tu código (después de postear?, antes del siguiente Edit?) Si estas insertando un nuevo registro entonces debes llamar a Insert en algun lado antes de volver a editar los datos con los TDBEdits
Todo lo anterior es código genérico solo tienes que traslaparlo a l que estas haciendo pero te repito si nos dieras mas código sería mas fácil y no tendríamos que estar adivinando
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Grabar En SQL Campos Decimales, Solo me graba enteros? Con Codigo | freddiaz07 | SQL | 13 | 21-09-2006 18:44:34 |
Grabar En SQL Campos Decimales, Solo me graba enteros? | freddiaz07 | SQL | 2 | 07-09-2006 16:24:04 |
Me cierra Delphi totalmente al activar Query | JamesBond_Mx | SQL | 2 | 12-01-2006 15:47:39 |
lookup + dbgrid: no graba | jonmendi | Conexión con bases de datos | 4 | 12-01-2006 08:21:53 |
Cuando trabajan dos usuarios simultaneos solo graba la factura de uno | tulio | Firebird e Interbase | 11 | 28-10-2003 12:10:34 |
|