Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   error insert con campo incremental (https://www.clubdelphi.com/foros/showthread.php?t=58923)

arefolio 06-08-2008 11:34:52

error insert con campo incremental
 
Buenas¡¡¡¡
Pues estoy con una tabla(EN ACCESS) muy simple de 2 campos. El codigo de tipo incremental y nombre tipo texto. Adjunto codigo de insertar:

procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text:='INSERT INTO TABLA1 (cod,nombre)'+'VALUES ("","'+ComboBox1.Text+'")';
Query1.ExecSQL;
end;
Y EL ERROR QUE ME SALE ES:

Project Project1.exe raised exception class EDBEngineError with message 'General SQL error.[Microsoft][Controlador ODBC Microsoft Access]. Pocos parámetros. Se esperaba 2.'. Process stopped. Use Step or Run to continue.


AYUDARME PLEASEEEE¡¡¡¡

Neftali [Germán.Estévez] 06-08-2008 11:54:43

Hola y bienvenido a los foros.
Te recomiendo que leas las Guías de Estilo (1 y 2) de los foros.

También puedes echarle un vistazo a esto para utilizar TAG's al colocar código delphi.

En cuanto al problema, yo lo que haría sería probar sin añadir el campo incremental a la SQL; Ya que es un campo incremental no debes añadirlo y en tu caso estás intentando colocar un "" (vacío) que no es lo mismo que no añadir nada.
También puedes usar QuotedStr para los tipo Texto.
Prueba con:

Código Delphi [-]
Query1.SQL.Text:='INSERT INTO TABLA1 (nombre)' + 
                'VALUES (QuotedStr(ComboBox1.Text))';

arefolio 06-08-2008 12:09:11

JO si añado lo de QuotedStr(ComboBox1.Text), me sale error de que la funcion QuotedStr no está definida en la expresión. Si no lo pongo me sale el error de que pocos parametros se esperaba un parametro..Jo de todos modos muchas gracias por contestar

coso 06-08-2008 12:17:36

es solo una errata, el codigo esta correcto. QuotedStr es de delphi
Código Delphi [-]
Query1.SQL.Text:='INSERT INTO TABLA1 (nombre)' + 
                'VALUES (' + QuotedStr(ComboBox1.Text) + ')';

arefolio 06-08-2008 12:22:50

Muchas Graciassssss. Funciona divinamente y me añade el solito la clave que era lo que quería. Bueno saludos y de nuevo gracias.

Neftali [Germán.Estévez] 06-08-2008 12:46:02

Cita:

Empezado por arefolio (Mensaje 306020)
...me sale error de que la funcion QuotedStr no está definida en la expresión.

SysUtils. :D:D


AÑADO: Veo que ya la encontraste.


La franja horaria es GMT +2. Ahora son las 09:07:09.

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