Mam problem ?
DataGridView polaczona z DataSet. Chce aby po zmodywikowaniu w datagridview za pomoca dataset zapisac zmiany. Baz Mysql 4 i ODBC

Nie wiem dla czego mi to nie chce dzialac ??

fragment kodu (rozne proby)

            da.UpdateCommand = new OdbcCommand("UPDATE test SET id = ?, testst = ?  WHERE id = ?");
            

            da.Update(dataSet1,"test");

Tu wskazuje, ze za malo parametrow.
pod dodaniu parametrow

            OdbcParameter parameter;

            parameter = da.UpdateCommand.Parameters.Add(new OdbcParameter("@id", SqlDbType.Int));
            parameter.SourceColumn = "id";           
            parameter.SourceVersion = DataRowVersion.Current;

i zmianie

            da.UpdateCommand = new OdbcCommand("UPDATE test SET id = @id, testst = @testst  WHERE id = @id");

wysypuje sie z pamiecia

ERROR [HY001] [MySQL][ODBC 3.51 Driver][mysqld-4.1.11-nt]Memory allocation error

albo nie przyjmuje parametrow.

ERROR [42000] [MySQL][ODBC 3.51 Driver][mysqld-4.1.11-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id = @id, testst= @testst WHERE id=@id' at line 1

jakie sa sugestje (zazwyczaj recznie updateowalem tabele - ale skoro jest to ...)

------------------------------------------------------------- dopisane I

Byla literowka co jednak dalej daje blad, cos mam zly dzien ...

Concurrency violation: the UpdateCommand affected 0 of the expected 1 records.

------------------------------------------------------------- dopisane II

BARDZO BARDZO zly dzien :)

to jest OK, przepraszam za zasmiecanie forum (ale moze sa jakies uwagi ... mile widziane bo dzis nieczego nie dostrzegam)

da.UpdateCommand = new OdbcCommand("UPDATE test SET id = ?, testst = ?  WHERE id = ?");
OdbcParameter parameter;
parameter = da.UpdateCommand.Parameters.Add(new OdbcParameter("@id", SqlDbType.Int));
parameter.SourceColumn = "id";           
parameter = da.UpdateCommand.Parameters.Add(new OdbcParameter("@testst", SqlDbType.VarChar));
parameter.SourceColumn = "testst";
da.Update(dataSet1,"test");