"Global" DataAdapter og Connection
Jeg forsøger at lave "globale" klasser, således at jeg kan skifte database typer og sti ét enkelt sted.Min Conn er defineret i denne assemply også, så jeg vil mene at det kun er DataAdapter'en jeg har problemer med.
Jeg gør således:
public class ReturnDataAdapter : DataConnection {
public IDataAdapter GetDataAdapter() {
// Access
if (ReaderType == "OleDb") {
return GetOleDbDataAdapter();
}
// SQL Server
else if (ReaderType == "Sql") {
return GetSqlDataAdapter();
}
// MySql
else {
return GetMySqlDataAdapter();
}
}
og
// SQL Server
public SqlDataAdapter GetSqlDataAdapter () {
SqlConnection Conn = OpenSqlConnection();
Conn.Open();
SqlDataAdapter objDataAdapter = new SqlDataAdapter(SqlString,Conn);
return objDataAdapter;
}
og så OleDb samt MySql også..
Herefter bliver filen compilet, og jeg tilgår den med
using [namespace].
Nu prøver jeg så at binde data til en DataGrid ud fra mine classes.
public IDataAdapter test() {
ReturnDataAdapter r = new ReturnDataAdapter();
r.SqlString="SELECT * FROM tabel";
return r.GetDataAdapter();
}
-og herefter bruger jeg test() som datasource.
men jeg får en fejl når jeg kører skidtet:
"An invalid data source is being used for DataGrid1. A valid data source must implement either IListSource or IEnumerable"
Hvad gør jeg galt?
