Как я могу отобразить значения строк в C # с помощью базы данных доступа? - PullRequest
0 голосов
/ 05 марта 2012

Я хочу создать программу, которая показывает пользователю случайные английские слова (взятые из БД доступа) и требует, чтобы он написал определение слова на иврите.Мне удалось запрограммировать это очень легко, используя «ячейки (X, Y)» в Excel VBA ... Но теперь, когда я пытаюсь сделать это в C # и доступе, я немного теряюсь.Мне удалось заставить читателя работать - вопрос в том, как сказать, что он читает только определенную строку в моем проекте?IE - он получает случайное число 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();</p>

<code>      while (dbReader.Read())
        {
        textBox1.Text +=  dbReader.GetValue(0).ToString() + "\r\n";
        textBox2.Text += dbReader.GetValue(1).ToString() + "\r\n";

        }


    }
</code>

Большое спасибо, Барак.

Ответы [ 2 ]

0 голосов
/ 05 марта 2012

Эквивалентный запрос MS Access будет:

SELECT TOP X english, hebrew FROM study ORDER BY Rnd(-10000000*TimeValue(Now())*[id])

Где

  • [id] - числовое поле (наиболее вероятное автономное число) первичного ключа для исследования
  • X - количество строк, которые вы хотели бы вернуть.

Credit

0 голосов
/ 05 марта 2012

Вопрос действительно связан с SQL. Измените mySelect на:

SELECT TOP 1 english, hebrew FROM study ORDER BY NEWID()
...