Hallo,
habe ein Problem mit dem füllen des OleDbDataAdapter.
Hier springt mir das Programm immer raus "myAdapter.Fill(myDataTable);"wenn ich den Adapter füllen möchte.
Dies geschiedt nur bei einem View aus einer Access-Datenbank. Bei den anderen Views macht er es. Kopiere ich den SQL-Select aus dem Überwachungsfenster und gebe diesen in Access ein bekomme ich das Ergebnis angezeigt.
Hat jemand einen Tipp?
Komme nicht auf den Fehler.
Genaue Fehlermeldung lautet:
Eine nicht behandelte Ausnahme des Typs 'System.Data.OleDb.OleDbException' ist in system.data.dll aufgetreten.
bißchen mehr code wäre hilfreich .. der select-string zb und der aufruf und die datenbanktabelle und sowas
Hier der Code.
public DataTable ExecuteDataTable(string Sql)
{
open();
myAdapter = new OleDbDataAdapter(Sql, myConnection);
myDataTable = new DataTable();
DataSet custDS = new DataSet();
DataTable custTable = custDS.Tables.Add("CustTable");
myAdapter.Fill(myDataTable);
return myDataTable;
}
und hier der Select-String "Select Ab_ID, Ab_ProduktID, Ab_Dicke, Ab_Breite, Ab_Laenge, Bestand, Reserviert, Verbleib From qry_Produktdetail"
Der Code für das füllen der DataTable ist immer der gleiche.
Ich vermisse die Befehle:
myConnection.Open();
// später:
myConnection.Close();
Oder was macht open()?
Außerdem könntest Du eine MessageBox mit der Exception einbauen; dann gibt es evtl. mehr Informationen darüber.
Hinweise: Auf das DataSet kannst Du bei dieser Konstruktion sowieso verzichten. Außerdem sollte die Connection nicht dauerhaft existieren, sondern nur bei Bedarf erzeugt werden, z.B. so:
using(DbConnection myConnection = new DbConnection()) {
// alles, was in dieser Connection gemacht werden soll
}
Gruß Jürgen
Außerdem sollte die Connection nicht dauerhaft existieren
Stimmt habe hier die Close() Methode vergessen.
Ändert aber nix an meinem Problem 🙁
Danke juetho
das mit der MessageBox hat mir schon mal weiter geholfen.
Liegt an der Funktion NZ() die ich in dem View benutze aber was mache ich jetzt?
Open/Close der Connection benötigst du sowieso nicht, wenn du den DataAdapter benutzt.
Wenn deine Funktio9n NZ() in der AccessDb nicht gheht, solltest Du diese auch fixen.
Die Funktion Nz() funzt ja in Access.
Habe wie "juetho" geschrieben hat die Exception mit der Kombobox ausgegeben.
Die Error-Meldung: "Undefinierte Funktion 'Nz' in Ausdruck."
Komme einfach zur keiner Lösung.
Hat jemand noch einen Tipp?