Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在c中将sqlite表合并到单个datagridview中#_C#_Winforms_Sqlite_Datagridview - Fatal编程技术网

C# 在c中将sqlite表合并到单个datagridview中#

C# 在c中将sqlite表合并到单个datagridview中#,c#,winforms,sqlite,datagridview,C#,Winforms,Sqlite,Datagridview,所以我有3个sqlite表,分别命名为abc、t2和t3。我想将这三个元素合并到一个数据网格中。我的意思是,首先是abc,然后低于它应该是t2,然后低于那个t3 这是我在datagrid视图中仅显示表abc的原始代码: string sql = " SELECT * FROM abc"; SQLiteDataAdapter da; DataTable dt; sqlite_cmd.CommandText = sql; //Create

所以我有3个sqlite表,分别命名为abc、t2和t3。我想将这三个元素合并到一个数据网格中。我的意思是,首先是abc,然后低于它应该是t2,然后低于那个t3

这是我在datagrid视图中仅显示表abc的原始代码:

 string sql = " SELECT * FROM abc";
       SQLiteDataAdapter da;
       DataTable dt;

       sqlite_cmd.CommandText = sql;

       //Create New Datatable to fill with data
       dt = new DataTable();

       //Create DataAdapter to fill data in DataTable via Adapter
       da = new SQLiteDataAdapter(sql, sqlite_conn);
       da.Fill(dt);

       // Lets populate the datagrid
       dataGridView1.DataSource = dt;
       dataGridView1.Refresh();   

下面的代码是一位用户建议我使用它将所有3个表合并到一个datagrid视图中。由于我缺乏编程知识,我不知道如何将他的答案与上面的代码同步我从他的代码中得到的错误是当前上下文中不存在名称“abc”、“t2”和“t3”。(很可能是因为它们没有任何sqlite语句a


这里的目标是将3个表合并到1个数据网格视图中。上面的错误阻止了我这样做。如果能提供完整代码的答案,将不胜感激

DataTable allDTs = abc;
       int rowCount = allDTs.Rows.Count - 1;
       foreach (DataRow row in t2.Rows)
       {
           rowCount = rowCount + 1;
           allDTs.Rows.Add();

           int colCount = -1;
           foreach (DataColumn col in t2.Columns)
           {
               colCount = colCount + 1;
               if (colCount > allDTs.Columns.Count - 1) allDTs.Columns.Add(col.ColumnName);
               allDTs.Rows[rowCount][colCount] = row[col];
           }
       }

       rowCount = allDTs.Rows.Count - 1;
       foreach (DataRow row in t3.Rows)
       {
           rowCount = rowCount + 1;
           allDTs.Rows.Add();

           int colCount = -1;
           foreach (DataColumn col in t3.Columns)
           {
               colCount = colCount + 1;
               if (colCount > allDTs.Columns.Count - 1) allDTs.Columns.Add(col.ColumnName);
               allDTs.Rows[rowCount][colCount] = row[col];
           }
       }

       dataGridView1.DataSource = allDTs;

(您可以在上一个问题中问这个问题)我的代码需要三个包含数据的表(abc、t2和t3)。声明每个表并执行相应的查询(da=每个表的新SQLiteDataAdapter等)从数据库中填充它们,然后编写我的代码。实际上,我以为数据表已经填充了;您可能会想出一个SQL查询来一次性存储三个表中的数据。(让我恼火?!为什么?我有点热情,但相当不恼火!我在上一个问题中说错了什么吗?)如果此查询工作正常,并且这正是您想要执行的操作,那么yes.No.如前所述,只需模拟适用于所有表的代码即可。如果您未声明给定对象(dt、t2和t3),则会出现此错误,所以您做错了。请发布您的全部代码,以便我可以看到问题出在哪里。很抱歉,一件事在这里对您有所帮助,另一件事是免费提供自定义支持(仍然没有:)。请将您编写的所有代码张贴在此处或通过类似pastebin.com的网站测试此代码: