Avatar billede pelkjaer Nybegynder
03. november 2003 - 11:43 Der er 1 løsning

"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?
Avatar billede pelkjaer Nybegynder
03. november 2003 - 12:37 #1
Fik det til at virke.
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