PDA

Ver la Versión Completa : error insert con campo incremental


arefolio
06-08-2008, 11:34:52
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 (http://www.clubdelphi.com/foros/guiaestilo.php) y 2 (http://www.clubdelphi.com/foros/showpost.php?p=112824&postcount=6)) de los foros.

También puedes echarle un vistazo a esto para utilizar TAG's (http://neftali.clubdelphi.com/images/ResaltarSintaxisDelphi.png) 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:


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

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
...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.