问题描述
初学c#请大家帮忙看看哪里有问题下面是我写的绑定的代码,可是调试一直提示我发生堆栈异常,然后绿色的光标停留在dv=ds.Tables["agent"].DefaultView;这句上面privatevoidBindData(){///connecttodatabaseSqlConnectionconn=newSqlConnection();conn.ConnectionString=System.Configuration.ConfigurationSettings.AppSettings["DataConn2"];conn.Open();SqlDataAdapterSqlCom=newSqlDataAdapter("selecttop2agtcode,par_code,en_name,agtname,sales,rel,tele,addressfromagent",conn);DataSetds=newDataSet();SqlCom.Fill(ds,"agent");DataViewdv=newDataView();dv=ds.Tables["agent"].DefaultView;conn.Close();if((DG1.Attributes["SortExpression"]!="")&&(DG1.Attributes["SortExpression"]!=null))dv.Sort=DG1.Attributes["SortExpression"]+""+DG1.Attributes["SortDirection"];DG1.DataSource=dv;DG1.DataBind();}
解决方案
解决方案二:
dv=ds.Tables["agent"].DefaultView;改成dv=ds.Tables[0].DefaultView;试试
解决方案三:
使用SqlDataAdapter好像不用在打开关闭数据库了
解决方案四:
引用1楼zh275589797的回复:
dv=ds.Tables["agent"].DefaultView;改成dv=ds.Tables[0].DefaultView;试试
还是没有解决
解决方案五:
dv.Table=ds.Tables["agent"].DefaultView;这样应该可以了
解决方案六:
引用4楼nizaiganshenme的回复:
dv.Table=ds.Tables["agent"].DefaultView;这样应该可以了
没有解决
解决方案七:
trythisprivatevoidBindData(){///connecttodatabaseSqlConnectionconn=newSqlConnection();conn.ConnectionString=System.Configuration.ConfigurationSettings.AppSettings["DataConn2"];conn.Open();SqlDataAdapterSqlCom=newSqlDataAdapter("selecttop2*fromagent",conn);DataSetds=newDataSet();SqlCom.Fill(ds,"agent");DataTabledt=newDataTable();dt=ds.Tables["agent"];conn.Close();if((DG1.Attributes["SortExpression"]!="")&&(DG1.Attributes["SortExpression"]!=null))dv.Sort=DG1.Attributes["SortExpression"]+""+DG1.Attributes["SortDirection"];DG1.DataSource=dt;DG1.DataBind();}