2013-06-19 15 views
0

안녕하세요, 부모 및 자식 (테이블)과 같은 트리 뷰에서 데이터베이스 레코드를 구현하려고합니다. 실행 시간 동안 난 내 연결 문자열에 오류가 발생했습니다 ..이 오류를 해결하는 방법?

오류 라인 : -

string connectionstring = ConfigurationManager.ConnectionStrings["Data Source=ASDF;Initial Catalog=dbtree;Integrated Security=True"].ConnectionString; 

오류는 다음과 같습니다 -

System.NullReferenceException was unhandled by user code 
    Object reference not set to an instance of an object. 

참고 : 내 데이터베이스 -in 더 필드는 null이 없습니다

코드 : -

string connectionstring = ConfigurationManager.ConnectionStrings["Data Source=ASDF;Initial Catalog=dbtree;Integrated Security=True"].ConnectionString; 
SqlConnection mycon = new SqlConnection(connectionstring); 
mycon.Open(); 
SqlCommand mycmd = new SqlCommand("Select * from tbl_Parent", mycon); 
SqlDataReader dr = mycmd.ExecuteReader(); 
mycmd.Dispose(); 
string[,] ParentNode = new string[100, 2]; 
int count = 0; 
while (dr.Read()) 
{ 
    ParentNode[count, 0] = dr.GetValue(dr.GetOrdinal("Parent_id")).ToString(); 
    ParentNode[count++, 1] = dr.GetValue(dr.GetOrdinal("Parent_name")).ToString(); 
} 
dr.Close(); 
+0

문자열을 키로 사용하여 배열을 인덱싱하려고합니다. 거기에는 개체가 없습니다. 이것은 데이터베이스 필드와 아무 관련이 없습니다. – OldProgrammer

답변

1

연결 문자열 줄이 올바르지 않습니다. 그것은 해당 노드가 (분명히) 존재하지 않는, 그것은 null을 반환하고 예외를 받고 있기 때문에

"Data Source=ASDF;Initial Catalog=dbtree;Integrated Security=True". 

라는 이름의 Web.config의 노드를 찾고 있습니다. 나는 당신을 의심

은 원하는 :

string connectionstring = "Data Source=ASDF;Initial Catalog=dbtree;Integrated Security=True"; 

하지만 더 컨텍스트없이 나는 확실히 알 수 없습니다.

4

string connectionstring = ConfigurationManager.ConnectionStrings["Data Source=ASDF;Initial Catalog=dbtree;Integrated Security=True"].ConnectionString; 

string connectionstring = "Data Source=ASDF;Initial Catalog=dbtree;Integrated Security=True"; 

를 교체 또는 연결 문자열 이름을 사용

string connectionstring = ConfigurationManager.ConnectionStrings["Name here"].ConnectionString; 

업데이트 : 주석 아래 제안한 것처럼, 당신은 웹에서 연결 문자열의 이름을 찾을 수 있습니다 .config 파일.

+0

@ 크리스 - 좋은 지적, 게시물을 업데이 트했습니다. –

관련 문제