2013-06-19 96 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我的数据库没有字段为空

代码: -

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

您的连接字符串行不正确。它正在寻找在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

@Chris - 好点,更新了帖子。 –