2013-07-29 2 views
0

У меня проблема. Я уже создаю текстовое поле, которое подключается к базе данных в приложении Windows, но это текстовое поле является строковым типом и работает успешно, а во второй форме я создал массив текстовых полей, которые подключаются к базе данных, но на этот раз это тип int. Как я могу получить доступ к этому текстовому полю для базы данных, которая является типом?Доступ к базе данных Целочисленный тип

Вот мой код для второй формы, я, используя массив текстовых полей:

OleDbDataReader dReader; 
     OleDbConnection conn = new OleDbConnection(connectionString); 
     conn.Open(); 
     OleDbCommand cmd = new OleDbCommand("SELECT DISTINCT [Code] FROM [Data] ORDER BY [Code] ASC", conn); 
     dReader = cmd.ExecuteReader(); 
     AutoCompleteStringCollection namesCollection = new AutoCompleteStringCollection(); 

     while (dReader.Read()) 
     { 
      namesCollection.Add(dReader.GetInt32(dReader.GetOrdinal("Code")); 
     } 

     textBoxCodeContainer[0][0].AutoCompleteMode = AutoCompleteMode.Suggest; 
     textBoxCodeContainer[0][0].AutoCompleteSource = AutoCompleteSource.CustomSource; 
     textBoxCodeContainer[0][0].AutoCompleteCustomSource = namesCollection; 

     dReader.Close(); 
     conn.Close(); 

Так или иначе, в то время как (dReader.Read()) является ошибкой, я не знаю, как решить эту проблему, может кто-нибудь Помоги мне, пожалуйста? Благодаря

+1

, что это ошибка? – jrbeverly

+2

Какое полное сообщение об ошибке? Это ошибка времени компиляции или она возникает во время выполнения? –

+0

@Myndwave: ошибка ничего не говорит, нет ошибки, только когда я запускаю программу, автозаполнение для типа Int не работает – Reinhardt

ответ

1

По MSDN, единственный Add метод AutoCompleteStringCollection является:

public int Add(string value) 

Так что попробуйте конвертирования целого числа в строку, прежде чем добавить его в коллекцию:

namesCollection.Add(Convert.ToString(dReader.GetInt32(dReader.GetOrdinal("Code"))); 
+0

сообщение об ошибке ничего не показывает, только когда я запускаю программу, автозаполнение не работает. – Reinhardt

+0

один вопрос, как мне преобразовать целое число в строку? – Reinhardt

+0

Я уже пытаюсь «namesCollection.Add (Convert.ToString (dReader.GetInt32 (dReader.GetOrdinal (« Код »)))) , но он не работает ни – Reinhardt

Смежные вопросы