データベース(MS Access)からデータを表示すると、選択したデータの最後に別のフォームが表示されます。私はループを使用して試しましたC#を使用してデータベースの次のデータを表示する方法は?
private void btnNext_Click(object sender, EventArgs e) //**This will select the next row**
{
currentRow++;
nextRow();
}
private void nextRow()
{
if (currentRow <= n)
{ //**Randomize the RadioButtons.Text**
var row = dTable.Rows[currentRow];
List<string> list = new List<string> { row["C1"].ToString(), row["C2"].ToString(), row["C3"].ToString(), row["C4"].ToString() };
lblQuest.Text = row["QUESTION"].ToString();
btn1.Text = row["C1"].ToString();
btn2.Text = row["C2"].ToString();
btn3.Text = row["C3"].ToString();
btn4.Text = row["C4"].ToString();
var ans = row["ANSWER"].ToString();
var rbtn = new[] { btn1, btn2, btn3, btn4 };
var rnd = new Random();
var shuffTxt = list.OrderBy(x => rnd.Next(list.Count)).ToList();
for (int i = 0; i < rbtn.Length; i++)
{
rbtn[i].Text = shuffTxt[i];
}
}
if (currentRow > n)
{ //**If the currentRow is already greater than the n selected rows, it will display a form**
frmPIPE frm = new frmPIPE();
frm.Show();
Hide();
}
}
しかし、currentRow > n
;これは、エラーを表示し
これは0ベースのインデックスを行うのであれば、私は思ったんだけど
これは、 'frmPIPE frm = new frmPIPE();'という行を意味します。この行はそのエラーを発生させますか? ;)。 –
そのコードはありません。 currentRowが行数より大きい場合、エラーが発生します。 –
at var row = dTable.Rows [currentRow]; –