我正在制作一个程序,向用户显示随机英语单词(取自访问数据库),并要求他写下单词的希伯来语辩护。 我设法使用excel VBA中的“cells(X,Y)”非常容易地对此进行编程......但是现在当我在c#中执行它并访问时,我有点迷失了。 我设法让读者工作 - 问题是 - 如何告诉它只读取我项目中的特定行? I.E. - 它得到一个5的随机数,然后它显示第5行中英语单词的值,并期望在第5行中接收希伯来词作为答案。
这是我目前取得的成就:
private void button1_Click(object sender, EventArgs e)
{
string conStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Words\WordsDatabase.accdb";
string mySelect = "SELECT english,hebrew FROM study";
OleDbConnection dbConnect = new OleDbConnection();
dbConnect.ConnectionString = conStr;
dbConnect.Open();
OleDbCommand dbCmd = new OleDbCommand(mySelect, dbConnect);
OleDbDataReader dbReader = dbCmd.ExecuteReader();
while (dbReader.Read())
{
textBox1.Text += dbReader.GetValue(0).ToString() + "\r\n";
textBox2.Text += dbReader.GetValue(1).ToString() + "\r\n";
}
}
非常感谢, 巴拉。
答案 0 :(得分:0)
问题是SQL真的相关。将mySelect更改为:
SELECT TOP 1 english, hebrew FROM study ORDER BY NEWID()
答案 1 :(得分:0)
MS Access等效查询将是:
SELECT TOP X english, hebrew FROM study ORDER BY Rnd(-10000000*TimeValue(Now())*[id])
哪里