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

C# 如何在C中创建填充两个DataGridView的函数#,c#,database,datagridview,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)

我正在创建一个小型数据库应用程序,其中必须填充两个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();
    }
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();
    }
在主窗体中调用它之后

LoadData(DG1, "*", "CLIENTS");
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();
    }
第一个网格将很好地填充,但是当我调用第二个方法时

LoadData(DG2, "*", "COURSES");
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();
    }

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

我犯了多么愚蠢的错误!我所要做的就是删除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();
    }

两次调用都使用DG1。第一次使用表0(DT=DS.Tables[0];)第二次使用表1(DT=DS.Tables[1];)@jdweng根据文档,该调用应该删除表。所谓“tow”是指“two”吗??然后保留两个数据源/数据表;如果您清除了第一个..我是否必须为第二个Datagridview创建另一个DataSources/DataTables变量?