I guess you are using RDO under VB5. My first suggestion is to "get thee
to a newer interface."
But the real problem lies in the SQL.
Serial data types are auto-incrementing and do not need a value in the
INSERT statement ergo:
INSERT INTO users VALUES ('Nigel');
should work just fine -- or almost
Secondly, you are trying to use POSITIONAL syntax on the insert, that is
to say you have written
INSERT INTO mytable VALUES (field1_value, field2_value,
field3_value,..);
This make success dependent on the order of your fields in the INSERT
string being the same as the order of the fields in the database, so the
order of fields in the database better not change.
It is a better practice to use field name explicit syntax
INSERT INTO mytable (field1_name, field2_name, field3_name,...) VALUES
(field1_value, field2_value, field3_value,..);
example
INSERT INTO users (first_name, last_name) VALUES ('Nigel','Brookes');
Nigel Brookes wrote:
>
> Hi Folks,
>
> I'm very new to ODBC and am using VB 5.0. I have a table with a serial data
> type that I'm trying to insert a record into using.
>
> INSERT INTO users VALUES (DEFAULT,'Nigel');
>
> This works when i'm in linux. But when I try to execute it in VB I get an
> error 'Too few parameters. Expected 1.'. Very strange. Have tried all 3
> odbc drivers. The VB code I use is as follows:
>
> Dim Backupdb As Database
> '******opens access to PostgreSQL database ***********************
> Connect = "ODBC;DSN=backupdb;DATABASE=backupdb;UID=test;PWD=test;"
> Set Backupdb = OpenDatabase("backupdb", False, False, Connect)
> '*****************************************************************
>
> Backupdb.Execute txtExecute.Text
>
> Any Ideas??
>
> Regard
>
> Nigel
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings