2016-08-24 5 views
-1

Ich habe 2 Formular in meiner Anwendung Form1 und Zusammenfassung. Ich habe eine Schaltfläche in form1 onclick Ich werde eine MDB-Datei auswählen, dann wird es mit MDB verbunden. Ich habe eine Datagridview in Zusammenfassung.C# Datenquelle eines Datagridview von einer anderen Quelle

Was ich brauche, ist, wenn ich die MDB-Datei verbinden muss ich die Daten aktualisieren (in anderen Worten gesetzt datagrid.DataSource = ds von Form1), so dass die Daten von mdb auf datagridview von gedrängter Form zeigt

Vor meiner Frage der Auswahl duplicate oder -1 plzz machen deutlich, dass die Datenbank in form1 verbunden wird, die in summarischer Form angezeigt werden muss. Ich hatte alle Wege versucht, die in Google gezeigt wurden, aber kein Ergebnis. Ihre Hilfe wird geschätzt.

+0

Ist das eine Windows-Anwendung Forms? – stuartd

+0

Ja, ich möchte das Datagrid der Zusammenfassungsformular Daten aktualisiert werden, sobald ich die mdb in Form1 verbinden – Roshan

+0

Ich habe versucht, aber es zeigt nichts – Roshan

Antwort

1

bekam es einen anderen Konstruktor in zusammengefasster Form machen, die Paramater haben wie die

public summary(dataset ds){ 
     initializecomponent();// there 
    // here bind the DataSet with grid of summary 
    } 

Anruf von form1

summary obj = new summary (ds); 
     obj.show(); 
+0

Ok Leute, jetzt habe ich verstanden, dass Sie nicht meine Frage bekommen Ich brauche keine Zusammenfassung Kumpel Zusammenfassung ist der Name meiner anderen Form, die DataGridview darin haben.Ich habe eine Funktion in Form1 geschrieben, um eine Verbindung zu dem MDB herzustellen, es wird keine Probleme erfolgreich verbunden. Meine Frage ist, wie man die Daten init auf meinem anderen Formular zeigt, das als Zusammenfassung – Roshan

+0

Liebe Sie Kerle thx zu allen genannt wird, die ich es mit @zulqamain Khalil Antwort thx reparierte. – Roshan

+0

aber in Zukunft werden Sie mehr Probleme haben, deshalb ist es besser, globale Datasets mit statischen Eigenschaften zu benutzen ... während Sie große Projekte machen –

1

Ich glaube, Sie sprechen über die Verbindungszeichenfolge ändern, wie:

private SqlConnection getConn(string Initial_Catalog_Name_Of_Database) 
    { 
     return new SqlConnection(@"Data Source=DESKTOP-JHHHN0A\MLSQLSRVR16;Initial Catalog="+Initial_Catalog_Name_Of_Database+";Integrated Security=True;Connection Timeout=9600"); 
    } 

Dann

private void non_Query(string sql) 
    { 
     using (SqlConnection conn = getConn()) 
     { 
      conn.Open(); 
      using (SqlCommand com = conn.CreateCommand()) 
      { 
       com.CommandTimeout = 900; 
       com.CommandText = sql; 
       com.ExecuteNonQuery(); 
      } 
      conn.Close(); 
     } 

    } 

Wenn das nicht Ihre Frage ist, benutzen Sie bitte den Code schreiben und genauer gesagt über das, was Sie brauchen.

1

Auf der Zusammenfassung Formular laden, Abfrage DB und füllen Sie Ihre DataGridView.

Verwenden Sie den folgenden Beispielcode auf Ihrem Formular laden.

string connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=your .mdb file;"; 
     string sql = "SELECT * FROM Authors"; 
     OleDbConnection connection = new OleDbConnection(connetionString); 
     OleDbDataAdapter dataadapter = new OleDbDataAdapter(sql, connection); 
     DataSet ds = new DataSet(); 
     connection.Open(); 
     dataadapter.Fill(ds, "Authors_table"); 
     connection.Close(); 
     dataGridView1.DataSource = ds; 
     dataGridView1.DataMember = "Authors_table"; 
+0

Vielen Dank für Ihre Antwort. Ich kenne den obigen Code. Aber ich habe das Datagridview in einer anderen Form, die Zusammenfassungskamerad genannt wird. Plz überprüfen Sie die aktualisierte Frage. – Roshan

+0

Um auf das DataSet/DataTable zwischen den Formularen zuzugreifen, können Sie es als globale Variable deklarieren, so dass Sie den Wert in Form 1 ausfüllen und von der zweiten Form aus darauf zugreifen können. –

+0

Wenn Sie nicht meins können, geben Sie mir Beispielcode – Roshan

Verwandte Themen