Autor Beitrag
Ivy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228



BeitragVerfasst: Do 24.02.11 12:23 
Hey,
ich habe mal wieder ein kleines Problem. Und zwar, ich habe eine Datenbank verbindung in einer Klasse "xyz.cs". Dort ist der ganze Source zum Verbdinden mit der Datenbank drin. Nun möchte ich aber in meiner Hauptklasse "abc.cs" mit dieser bereits bestehenden verbindung auf die Datenbank zugreifen und daten auslesen.
Jedoch ist es der zweiten Klasse irgendwie nicht bekannt, dass es eine DB verbindung gibt und findet auch in der klasse drin keinen connection string...
Meine farge also, wie kann ich von der anderen klasse auf die db verbindung der anderen zugreifen??

das ist meine connection anweisung in klasse xyz.cs:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
public override int MakeConnection ()
      {
        conString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
        conString = conString + prmDataSource;
        conString = conString + ";Extended Properties=dBASE IV;User ID=xyz;Password=";
        prmName = "PassFail";
        connection = new OleDbConnection(conString);

        string sqlStr = "Select * From PassFail";
        da = new OleDbDataAdapter(sqlStr, connection);
        da.MissingSchemaAction = MissingSchemaAction.AddWithKey;

        connection.Open();
   
        da.Fill(DS, "PassFail");

        TablesCount = DS.Tables.Count;
        return 0;
      }


damit möchte ich daten abrufen (klasse abc.cs):
ausblenden C#-Quelltext
1:
2:
OleDbCommand cmd1 = new OleDbCommand("Select DISTINCT Testresult, Testmode, Date From Passfail");
            OleDbDataReader dr1 = cmd1.ExecuteReader();


Als fehler sagt er mir anchtürlich das es ekeinen connection string gibt :-/

Danke lg
ivy
schwandi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 21
Erhaltene Danke: 3



BeitragVerfasst: Do 24.02.11 12:32 
Hallo!

Ist klar das er die Verbindung nicht findet!

Du musst die Verbindung public deklarieren oder in einer Methode übergeben oder sogar Global speichern

lg schwandi
Ivy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228



BeitragVerfasst: Do 24.02.11 12:37 
er findet trotzdem den conString nicht -.-
hab jetzt alles public gemacht.. hätt ich eig schon von selber drauf kommen können^^
thas11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25



BeitragVerfasst: Di 08.03.11 21:36 
Hallo!

Hab auch mal dasselbe Problem gehabt..
Hab meine Datenbankverbindung in ein Singelton gepackt und damit ist diese überall verfügbar und du brauchst nicht immer eine neue Instanz...
Falls du noch nie ein Singleton gemacht hast unter Wiki gibs eine Beispielimplementierung..

lg,
Wolfi