如何在C#中创建填充两个DataGridView的函数

时间:2019-04-16 21:29:53

标签: c# database datagridview

我正在创建一个小型数据库应用程序,必须在其中填充两个DataGridView 使用以下流动函数分别命名为“ DG1”和“ DG2”:

private SQLiteDataAdapter DB;
    private DataSet DS = new DataSet();
    private DataTable DT = new DataTable();

    public void LoadData(DataGridView Grid, String fields, String table)
    {
        SetConnection();
        sql_con.Open();
        sql_cmd = sql_con.CreateCommand();
        string CommandText = "select " + fields + " from " + table;
        DB = new SQLiteDataAdapter(CommandText, sql_con);
        DS.Reset();
        DB.Fill(DS);
        DT = DS.Tables[0];
        Grid.DataSource = DT;
        sql_con.Close();
    }

以主要形式调用

LoadData(DG1, "*", "CLIENTS");

第一个网格将填满,但是当我调用第二个方法

LoadData(DG2, "*", "COURSES");

第一个客户端DataGridView为空,第二个DataGridView填充了正确的信息

1 个答案:

答案 0 :(得分:0)

我犯了什么愚蠢的错误!我要做的就是删除DataSet和DataTable的声明并将其放在函数中,所有冲突都消除了(@ JohnG,@ TaW和每个尝试提供帮助的成员)

public void LoadData(DataGridView Grid, String fields)
    {
        SetConnection();
        sql_con.Open();
        sql_cmd = sql_con.CreateCommand();
        string CommandText = "select " + fields + " from " + table;
        DB = new SQLiteDataAdapter(CommandText, sql_con);
        DataSet DS = new DataSet();
        DataTable DT = new DataTable();
        DB.Fill(DS);
        DT = DS.Tables[0];
        Grid.DataSource = DT;
        sql_con.Close();
    }