我已将数据保存在表PollCollection(PollID,PollName,VotingClass)和OptionCollection(OptionID,PollID,Option)中。我有一个名为Poll的类,其中可以保存字符串PollTitle和LinkedList选项(及其他)。我使用适当的VotingClass从PollCollection中读取了我的第一个PollName,然后尝试从OptionCollection中读取Option,其中PollID = PollCollection.PollID。但是,我的选项光标的长度为0。
我知道OptionCollection的保存正确,因为在另一段代码中,我设法运行了select *查询并打印了所有适当的值。在这一点上,我不知道我在想什么。另外,我正在使用Xamarin Android。
string pollquery = "";
string optionsquery = "";
pollquery = string.Format("select * from PollCollection where PollCollection.VotingClass = '{0}'", userclass);
ICursor polls = MainActivity.sqlitedb.RawQuery(pollquery, null);
if (polls.Count > 0)
{
polls.MoveToFirst();
do
{
Poll currentpoll = new Poll();
currentpoll.PollTitle = polls.GetString(polls.GetColumnIndex("PollName"));
string pollid = polls.GetString(polls.GetColumnIndex("PollID"));
optionsquery = string.Format("select Option from OptionCollection where OptionCollection.PollID = '{0}'", pollid);
ICursor options = MainActivity.sqlitedb.RawQuery(optionsquery, new string[] { });
options.MoveToFirst();
do
{
currentpoll.Options.AddLast(options.GetString(options.GetColumnIndex("Option")));
} while(options.MoveToNext());
polllist.AddLast(currentpoll);
} while (polls.MoveToNext());
}