使用Access数据库显示文本

时间:2013-09-26 11:42:13

标签: c# winforms ms-access-2007

*对不起,如果主题不好但我不知道该怎么做。

我有一个代码将Access数据库与我的C#Windows Forms程序连接起来。该程序是一个学校测试..因为我从数据库中得到问题和多个答案。我在该访问数据库中写了7个问题。我的问题是,当我运行代码时,我只得到最后一个问题(问题编号7),但我想从数据库中的另一行(我想要的问题)中显示另一个问题。

            OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=..\Release\AppDB.accdb");
            con.Open();

            DataTable dt = new DataTable();
            DataSet ds = new DataSet();
            ds.Tables.Add(dt);
            OleDbDataAdapter da = new OleDbDataAdapter("Select * from Table1", con);
            da.Fill(dt);

            foreach (DataRow myRow in dt.Rows)
            {
                label1.Text = "Question " + myRow[0] + " / " + myRow[1].ToString();
                radioButton1.Text = myRow[2].ToString();
                radioButton2.Text = myRow[3].ToString();
                radioButton3.Text = myRow[4].ToString();
                radioButton4.Text = myRow[5].ToString();

                label3.Text = myRow[6].ToString();
            }

            con.Close();

1 个答案:

答案 0 :(得分:1)

你的问题是你每次都在循环每一行并覆盖你的单选按钮中的值 - 这意味着你总是得到最后一行。您需要将select语句更改为:

OleDbDataAdapter da = new OleDbDataAdapter("Select * from Table1 Where <field> = <value>", con);

将字段和值替换为列的名称和要分别检查的值。