2016-08-24 68 views
-1

我在我的应用程序Form1和摘要中有2个表单。我在form1 onclick中有一个按钮,我将选择一个mdb文件,然后连接到mdb。我总结了一个datagridview。c#从另一个来源获取datagridview的数据源

我需要的是有一次我接了mdb文件,我需要更新数据(换句话说设定datagrid.DataSource = ds从Form1中),以便从MDB的数据显示,在总结的形式

的datagridview的选择,我的问题是前复制或-1 plzz表明数据库将连接到form1中,需要以摘要形式显示。我尝试了所有在谷歌显示的方式,但没有结果。 您的帮助将不胜感激。

+0

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

呼叫paramater这是一个Windows窗体应用程序? – stuartd

+0

是的我希望一旦连接了Form1中的mdb,汇总表格数据的datagrid就会更新 – Roshan

+0

我已经尝试过,但没有显示任何东西 – Roshan

回答

1

得到它使以摘要形式另一个构造有像Form1中

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

好吧,大家现在我明白,你没有得到我的问题,我不需要总结队友总结是我的另一个形式,其中有datagridview的名称。我在Form1中编写了一个函数来连接到它正在成功连接的mdb,没有任何问题。我的问题是如何显示我的另一个表格上的数据init命名为摘要 – Roshan

+0

爱你们thx所有我用@zulqamain Khalil答案thx修复它。 – Roshan

+0

,但将来你将面临更多问题,所以最好使用具有静态属性的全局数据集......在制作大型项目时 –

1

我想你在谈论改变连接字符串,如:

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"); 
    } 

然后

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(); 
     } 

    } 

如果这不是你的问题,请发表您的代码和具体谈谈你需要。

1

在摘要表单加载,查询数据库并填充您的DataGridView。

在表单加载中使用下面的示例代码。

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

感谢您的回答。我知道上面的代码。但我有另一种称为summary mate的形式的datagridview。 Plz检查更新后的问题。 – Roshan

+0

要访问表单之间的DataSet/DataTable,可以将其声明为全局变量,以便可以填充Form 1中的值并从第二个表单访问它。 –

+0

如果你不是我的,你可以给我示例代码 – Roshan