2013-06-19 15 views
0

HI Я пытаюсь выполнить Реализация записи базы данных в древовидной структуре, например «Родитель и ребенок» (таблица). Во время работы я получил ошибку в моей строке подключения ..Как исправить эту ошибку?

ошибка линии: -

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. 

Примечание: -в моей базе данных нет поля не равны нулю

код: -

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

Вы являетесь tyring для индексации массива с использованием строки в качестве ключа, и там нет объекта. Это не имеет ничего общего с полями базы данных. – OldProgrammer

ответ

1

Строка строки подключения неверна. Он ищет узел в web.config имени

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

Поскольку этот узел (по-видимому) не существует, она возвращается null и вы получаете исключение.

Я подозреваю, что вы просто хотите:

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

@ Крис - Хороший момент, обновил сообщение. –

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