我正在使用Visual Studio,Winforms和集成的SQL Server。
获胜形式很简单,它包含一个文本框和 3 个按钮。
我在SQL服务器中有两个表:
Questions
&Answers
我想将问题表中的问题加载到文本框中, 我希望将答案表中的 3 个答案加载到按钮文本中
我已经能够使用sqlDataReader
并使用
while Datareader.read()
{
txtBox.text = DataReader.getValue()
等
但是,我一直无法阻止dataReader
读取直到最后一个结果,我在表单onload()
事件中调用dataReader
,因此我需要一种方法将结果流从dataReader
保存到可以访问的对象或列表以制作简单的问答形式, 同样在形式上没有正确/错误的答案,只需选择一个选项应该显示上面提到的SQL Server表中的下一行,非常感谢任何帮助或建议,如果这没有意义,请抱歉。
您不希望使用while
循环将问题放入文本框中。从您提供的代码片段来看,它似乎只会快速循环所有问题,最终只会显示最后一个问题。
创建几个成员变量:
public List<string> _questions = new List<string>();
public int _questionsIndex = 0;
在onload
事件中,将问题存储在列表中:
while Datareader.read()
{
_questions.Add(DataReader.getValue());
然后显示第一个问题并增加索引:
txtBox.text = _questions[_questionIndex];
_questionIndex++;
现在,下次您准备显示新问题时,您只需执行相同的操作:
txtBox.text = _questions[_questionIndex];
_questionIndex++;