Почему мой запрос не получает все мои данные?C # Access - PullRequest
0 голосов
/ 18 мая 2018

После часа отладки я пытаюсь выяснить, почему мой запрос возвращает только 1 идентификатор, где есть хотя бы 3:

    public static string[] selectAGIdOfKC(string id)
    {

        int nbAg = 0;
        DataTable results = new DataTable();
        using (OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=bdd.mdb;
                                                                        Persist Security Info=False;"))
        {
            OleDbCommand cmd = new OleDbCommand("SELECT Id FROM ActionG WHERE Num_Kc = @Id", conn);
            conn.Open();

            cmd.Parameters.AddWithValue("@Id", id);
            OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
            conn.Close();
            adapter.Fill(results);
            nbAg=results.Rows[0].ItemArray.Count();

        }

            string[] myTab = new string[nbAg];
            for (int i = 0; i < nbAg; i++)
            {
                myTab[i] = results.Rows[0].ItemArray[i].ToString();
            }
            return myTab;
    }

Я пытался использовать некоторые обходные пути, но ничто не решает проблему отсутствиявозвращенные идентификаторы ...

Кто-нибудь может мне помочь?Спасибо за ваше время!

1 Ответ

0 голосов
/ 18 мая 2018

Все зависит от того, как вы хотите получить результаты, но если вы хотите, чтобы nbAg содержало количество возвращаемых строк, и, если вы хотите, чтобы myTab содержало возвращенные значения id, ваш код не записываетсяделать то, что вы хотите.

Обратите внимание на многоточие ... - Я только изменил код, который вызывал ваши текущие симптомы.

public static string[] selectAGIdOfKC(string id)
{
    int nbAg = 0;
    ...

    nbAg = results.Rows.Count();
    string[] myTab = new string[nbAg];
    for (int i = 0; i < nbAg; i++)
    {
        myTab[i] = results.Rows[i][0].ToString(); 
                   // This is the first column of row i
    }
    return myTab;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...