所以,我在SQLite数据库中使用C#winrt。我想显示我有"加入" ed。
的查询结果我有2个表,分别是学生和课程。
学生有:id(PK),name,courseid
课程有:courseid(PK),coursename
这是我的代码:
var query1 = conn.QueryAsync<Student>("select * from Student s inner Join Course c on s.courseid = c.courseid");
var query2 = conn.QueryAsync<Course>("select * from Course c inner join Student s on c.courseid = s.courseid");
var result1 = await query1;
var result2 = await query2;
lstJoin.Items.Clear();
foreach (var item in result1)
{
string text = "Name: " + item.name + ", Course Id: " + item.courseid + ", Course Name : " + item.coursename;
lstJoin.Items.Add(text);
}
但&#34; item.coursename&#34;是错误,所以我无法显示它。然后,如果我在foreach中使用结果2更改result1,&#34; item.name&#34;将是错误。我应该怎么做才能展示它们?谢谢。
答案 0 :(得分:0)
为什么不以经典方式进行?像带有命令文本的SQLiteCommand对象:
strCommandText = "SELECT tbl1.*,tbl2.* FROM Table1 tbl1 INNER JOIN Table2 tbl2 ON tbl1.ID = tbl2.ID";
或者这是一个你需要以这种方式使用它的规范吗? 因为我在使用SQLite Helper文件时遇到了同样的问题。