是否可以使用SQL视图在WinForms中填充数据集?我'我使用SQLite,因此在这种特殊情况下,存储过程不是一个选项,所以我创建了一个包含我需要的数据的视图。但是,在编写我的代码时,就像我在使用表时一样,我得到错误"没有这样的表:ReportDates" 就行 adapter.Fill(ds,& #34; ReportDates&#34); 即可。有没有办法以不同方式引用它,因此它被识别为View或者这是不可能的?
我的代码是这样的:
private void PopulateReportPeriodDropDown()
{
DataSet ds = new DataSet();
using (SQLiteConnection conn = new SQLiteConnection(sqlcs.ConnectionString()))
{
conn.Open();
string stm = "SELECT * FROM ReportDates";
using (SQLiteDataAdapter adapter = new SQLiteDataAdapter(stm, conn))
{
adapter.Fill(ds, "ReportDates");
DataRow newRow = ds.Tables[0].NewRow();
newRow["DateIndex"] = 0;
newRow["DateDescription"] = "-- Select Reporting Period --";
ds.Tables[0].Rows.InsertAt(newRow, 0);
reportingPeriodDropDown.DataSource = ds.Tables[0];
reportingPeriodDropDown.ValueMember = "DateIndex";
reportingPeriodDropDown.DisplayMember = "DateDescription";
reportingPeriodDropDown.SelectedIndex = 0;
}
}
}
我猜一个选项是使用视图中的数据创建临时表,然后用该数据填充数据集,然后删除临时表。虽然这似乎是一种混乱的做事方式。
编辑:我应该提一下,当我引用表名时,此代码可以正常工作,而不是在我尝试引用视图时。
答案 0 :(得分:0)
在这种情况下,数据库必定已损坏。我最终完全删除并从头开始重新创建它,现在一切都按预期工作了。