坚持存储 sqlDataReader 中的单个行以供以后使用



我正在使用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++;

相关内容

  • 没有找到相关文章

最新更新