Hallo,
ich bin Firebird-Neuling, habe bisher alles auf MS-Access gemacht und wollte endlich ne echte DB :-)
Nun das Problem. Ich habe auf einem Rechner die Datenbank. Auf diesem ist auch der ODBC-Treiber dafür eingerichtet.
Ich habe ein Programm selbst gemacht, welches auf die Datenbank zugreifen soll. Das funktioniert auch lesend, ich kann sogar schreibend SQL-Befehle (z.B. update...) abgeschicken, aber aus Visual Basic kann ich den Datensatz nicht editieren.
Für alle Visual Basic-Experten hier der Code:
<br><br><i>
Set wrk = CreateWorkspace("mhcwrk", "root", "xxx", dbUseODBC)<br>
Set con = wrk.OpenConnection("mhccon", dbDriverNoPrompt, False, "ODBC;UID=root;PWD=xxx;ReadOnly=False;DSN=testdb") <br>
Set rs = con.OpenRecordset("Select * from tabelle where feld1 = '1000' ", dbOpenDynamic)<br>
rs.Edit<br>
rs("Feld2") = "123"<br>
rs.Update<br>
rs.Close<br><br></i>
Beim Edit steigt er leider aus und sagt: "Aktualisieren nicht möglich. Datenbank oder Objekt ist schreibgeschützt."
Wie gesagt, schreiben kann ich z.B. so:<br>
con.execute "Update tabelle set feld2 = '123' where feld1 = '1000' "<br><br>
Merkwürdigerweise kann ich auch mit MS-Access die Testtabelle per odbc einbinden und beliebig ändern.
Mein Programm verweist auf Dao 3.51. Vielleicht brauche ich noch ein Client-Treiber oder sowas? Kann mir jemand helfen?
Besten Dank vorab...
Schöne Grüße aus dem verschneiten Schongau
Gruß
Markus
ich bin Firebird-Neuling, habe bisher alles auf MS-Access gemacht und wollte endlich ne echte DB :-)
Nun das Problem. Ich habe auf einem Rechner die Datenbank. Auf diesem ist auch der ODBC-Treiber dafür eingerichtet.
Ich habe ein Programm selbst gemacht, welches auf die Datenbank zugreifen soll. Das funktioniert auch lesend, ich kann sogar schreibend SQL-Befehle (z.B. update...) abgeschicken, aber aus Visual Basic kann ich den Datensatz nicht editieren.
Für alle Visual Basic-Experten hier der Code:
<br><br><i>
Set wrk = CreateWorkspace("mhcwrk", "root", "xxx", dbUseODBC)<br>
Set con = wrk.OpenConnection("mhccon", dbDriverNoPrompt, False, "ODBC;UID=root;PWD=xxx;ReadOnly=False;DSN=testdb") <br>
Set rs = con.OpenRecordset("Select * from tabelle where feld1 = '1000' ", dbOpenDynamic)<br>
rs.Edit<br>
rs("Feld2") = "123"<br>
rs.Update<br>
rs.Close<br><br></i>
Beim Edit steigt er leider aus und sagt: "Aktualisieren nicht möglich. Datenbank oder Objekt ist schreibgeschützt."
Wie gesagt, schreiben kann ich z.B. so:<br>
con.execute "Update tabelle set feld2 = '123' where feld1 = '1000' "<br><br>
Merkwürdigerweise kann ich auch mit MS-Access die Testtabelle per odbc einbinden und beliebig ändern.
Mein Programm verweist auf Dao 3.51. Vielleicht brauche ich noch ein Client-Treiber oder sowas? Kann mir jemand helfen?
Besten Dank vorab...
Schöne Grüße aus dem verschneiten Schongau
Gruß
Markus
Comment