Avatar billede jimbo22 Nybegynder
17. september 2004 - 01:00 Der er 7 kommentarer

Skrivning til mysql tabel giver "DBConcurrencyException"

Jeg forsøger at skrive til en mysql tabel fra visual studio.
Jeg har installeret MyODBC samt ODBC udvidelsen til VS og oprettet en odbc datasource i windows. Updates ved direkte brug af OdbcCommand virker, men når jeg bruger OdbcCommandBuilder får jeg fejlen "DBConcurrencyException" hver gang jeg forsøger at udføre en update.
Følgende programstump fejler når den når til linien "myDataAdapter.Update(custDS, "kunder");"


public void test()
{
OdbcConnection con = new OdbcConnection("DSN=JimboMysqlTest");
OdbcDataAdapter myDataAdapter = new OdbcDataAdapter();
myDataAdapter.SelectCommand = new OdbcCommand("select * from kunder;", con);
OdbcCommandBuilder custCB = new OdbcCommandBuilder(myDataAdapter);

con.Open();
   
try
{
DataSet custDS = new DataSet();
myDataAdapter.Fill(custDS, "kunder");
custDS.Tables[0].Rows[1]["Adresse2"] = "eeee";
myDataAdapter.Update(custDS, "kunder");
}
finally { con.Close(); }
}


Jeg fatter det simpelthen ikke, det burde da virke?!

mvh
Jimmy
Avatar billede arne_v Ekspert
17. september 2004 - 07:08 #1
1)  hvad bruger du custCB til ?  (ingenting => let den linie)

2)  de fleste har bedre erfaring med ByteFX .NET provider end
    med MyODBC og ODBC provideren
Avatar billede arne_v Ekspert
17. september 2004 - 07:09 #2
(ingenting => slet den linie)
Avatar billede jimbo22 Nybegynder
17. september 2004 - 09:45 #3
1)  hvad bruger du custCB til ?  (ingenting => let den linie)
når man opretter en CommandBuilder og giver den en adapter sørger commandbuilder for automatisk at generere update,delete og insert sql kommandoer såfremt man selv i forvejen har angivet en select kommando.

2)  de fleste har bedre erfaring med ByteFX .NET provider end
    med MyODBC og ODBC provideren
Jeg vil gerne have at mit software er uafhængig af hvilket database system som benyttes, og at bruge ODBC virker umiddelbart som den letteste måde at opnå dette på.
Avatar billede arne_v Ekspert
17. september 2004 - 23:27 #4
re 1)

se det viste jeg ikke

re 2)

Kunne også opnåes ved at bruge interfaces undtagen ved connection creation.
Avatar billede arne_v Ekspert
17. september 2004 - 23:28 #5
Koden ser jo meget OK ud.

Men jeg synes stadigvæk at det kunne være sjovt hvis du prøvede samme kode
med ByteFX.
Avatar billede arne_v Ekspert
26. september 2004 - 23:46 #6
Har du prøvet ?
Avatar billede jimbo22 Nybegynder
05. oktober 2004 - 19:51 #7
Ja jeg prøvede men fik samme fejl. CommandBuilder objektet producerede åbenbart i begge tilfælde noget sql kode som gav fejlen. Jeg har derfor valgt at skrive mine update statements "by hand", hvilket virker fejlfrit.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester