Sql 如何连接两个表并在一个listview中显示它们?
我使用的列表视图使其列形成两个不同的db表。以下是我正在尝试的代码:Sql 如何连接两个表并在一个listview中显示它们?,sql,winforms,sqlite,listview,Sql,Winforms,Sqlite,Listview,我使用的列表视图使其列形成两个不同的db表。以下是我正在尝试的代码: try { String Query = "select id,Code,Description,Rate,Bottles,Supply,Empty,Amount,Received, Customer_New.Opening_Date,Customer_New.Clients_Title,Customer_New.Cust_Id from (Items INNER JOIN Custo
try
{
String Query = "select id,Code,Description,Rate,Bottles,Supply,Empty,Amount,Received,
Customer_New.Opening_Date,Customer_New.Clients_Title,Customer_New.Cust_Id
from (Items INNER JOIN Customer_New on Customer_New.Cust_Id=Items.Cust_Id)
,Customer_New";
SQLiteDataAdapter dba = new SQLiteDataAdapter(Query, GlobalVars.conn);
DataSet testDs = new DataSet();
dba.Fill(testDs, "Items"); //error
dba.Fill(testDs, "Customer_New"); //error
DataTable dt = testDs.Tables[0];
this.lvcmodify.DataContext = testDs.Tables[0].DefaultView;
lvcmodify.ItemsSource = dt.DefaultView;
testDs.Dispose();
dba.Dispose();
dt.Dispose();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
有人知道我如何在列表视图中实现此功能吗
在sqlite中,是否可以在运行时将两个表合并到逻辑表中,同时对db进行任何更改,以便我可以在命令中使用单个表:dba.Fill(testDs,“Items”);?
请帮助我更正此代码。谢谢查看您的源代码后,我认为问题在于您的sql include Customer\u New两次
只需移除最后一个客户的新表
try
{
Query = "select id,Code,Description,Rate,Bottles,Supply,Empty,Amount,Received,
Customer_New.Opening_Date,Customer_New.Clients_Title,Customer_New.Cust_Id
from Items INNER JOIN Customer_New on Customer_New.Cust_Id=Items.Cust_Id";
dba = new SQLiteDataAdapter(Query, GlobalVars.conn);
testDs = new DataSet();
dba.Fill(testDs, "Items");
...
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
用于创建视图的查询在sqlite数据库中不起作用…尽管我的外键选项是ONER,但错误是:SQLItemManager:如果不存在,则创建视图“main”。“items\u v”作为选择id、代码、描述、费率、瓶子、供应、空、金额、已收货、客户\u新日期作为开始日期、客户\u新客户\u标题作为客户\u标题,Customer_New.Cust_Id as Cust_Id from(项目内部加入Customer_New on Customer_New.Cust_Id=项目.Cust_Id),Customer_New[模棱两可的列名:Customer_New.Opening_Date]异常名称:NS_ERROR_故障异常消息:组件返回故障代码:0x80004005(NS_ERROR_故障)[mozIStorageConnection.createStatement]请为您的第一次查询发布错误,我认为您的查询中存在问题,而不是填充函数。第一次查询错误:SQLItemManager:可能的SQL语法错误:创建查看项目,如选择id、代码、描述、费率、瓶子、供应、空、金额、收到、客户新开日期、客户新开日期、客户新开名称、客户名称、自定义er_New.Cust_Id作为Cust_Id来自(项目内部加入Customer_New on Customer_New.Cust_Id=Items.Cust_Id),Customer_New[模棱两可的列名:Customer_New.Opening_Date]异常名称:NS_ERROR_故障异常消息:组件返回故障代码:0x80004005(NS_ERROR_故障)[mozIStorageConnection.createStatement]在同一点上再次出现相同错误………[模棱两可的列名:Customer_New.Open_Date]异常名称:NS_error_FAILURE异常消息:组件返回的故障代码:0x80004005(NS_error_FAILURE)[mozIStorageConnection.createStatement]我可以在此处使用dataTable.Merge()方法吗?如果是,那么我如何在此场景中实现它