2013-07-29 3 views
0

여기에 문제가 있습니다. 이미 Windows 응용 프로그램에서 데이터베이스에 연결하는 텍스트 상자를 만들지 만이 텍스트 상자는 문자열 유형이며 성공적으로 작동합니다. 두 번째 양식에서는 데이터베이스에 연결되는 텍스트 상자 배열을 만들었지 만 이번에는 int 유형입니다. 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

오류가 무엇입니까 :

public int Add(string value) 

그래서 컬렉션에 추가하기 전에 문자열로 정수를 변환하려고? – jrbeverly

+2

전체 오류 메시지는 무엇입니까? 컴파일 타임 오류입니까 아니면 런타임에 발생합니까? –

+0

@Myndwave : 오류가 아무 것도 말하지 않고, 오류가 없습니다. 프로그램을 실행할 때 Int 유형의 자동 완성이 작동하지 않습니다. – Reinhardt

답변

1

MSDN에 따르면, AutoCompleteStringCollection위한 유일한 Add 방법은 다음과 같습니다

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

오류 메시지 아무것도 보이지 않습니다. 프로그램을 실행할 때 자동 완성 기능이 작동하지 않습니다. – Reinhardt

+0

한 가지 질문으로 문자열에 내 정수를 변환하는 방법은 무엇입니까? – Reinhardt

+0

이미 "namesCollection.Add (Convert.ToString (dReader.GetOrdinal ("Code "))))) 하지만 작동하지 않습니다. – Reinhardt