public Sub CreateDataSet()’建立数据集 -----------
每次都要执行这个函数, 自然可以。 如果回发时没有建立
DataSet, 那在引用时, 会出错.
每次都要执行这个函数, 自然可以。 如果回发时没有建立
DataSet, 那在引用时, 会出错.
解决方案 »
- 怎么匹配,求思路,标题得长~~~~~~~~~~~
- 高手帮忙解一个js问题?
- GridView外部出力问题。。急~~help
- 求救!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 微软推出了一系列的Application Block,请举出您所知道的Application Block并说明其作用?
- javascript问题
- 怎么使得asp和asp.net的session信息 共享
- 大家给推荐一个好点的支持.net的空间啊。
- 急。。。。。。。关于COM+组件的使用!!!
- Asp.net怎麼調試﹖要最基本的﹗
- DataGrid的UpdateCommand里面怎么取不到变化后的值了呢?奇怪
- 请问如何在外部引用控件方法 如:dropdownlist.onselectedindexchanged="onselecchange"
public Sub CreateDataSet()’建立数据集
Dim strsql As String ="select * from tree_info where parentid='folderstree'"
Dim myAdapter As new SqlDataAdapter(strsql,myconn)
dim ds as new dataset()
myadapter.fill(ds,"tree")
End Sub
中定义的ds对象是局部变量,当这个函数执行结束后,这个变量就没有办法引用了(因为是new创建的,所以直到页面结束,该对象空间还是存在的)
过程:
public Sub intiTree() '调用数据集
path.datasource=ds.tables("tree").defaultview
path.datatextfield="nodename"
path.datavaluefield="nodeid"
path.databind()
end sub
中使用到ds变量,这个变量在程序中并没有定义为全局变量,也没有在本过程中定义,所以会报告ds:未将对象引用设置到对象的实例,更不用说ds.tables("tree").defaultview了。解决办法:1——
采用全局变量定义ds;2——
把前面的过程定义为函数,内容如下:
public Function GetDataSet() as DataSet’建立数据集
Dim strsql As String ="select * from tree_info where parentid='folderstree'"
Dim myAdapter As new SqlDataAdapter(strsql,myconn)
dim ds as new dataset()
myadapter.fill(ds,"tree")
GetDataSet=ds;
End Function然后在后面的过程中:
public Sub intiTree() '调用数据集
path.datasource=GetDataSet().Tables("tree").DefaultView
path.datatextfield="nodename"
path.datavaluefield="nodeid"
path.databind()
end sub上面的两个方法,如果你的ds在多个地方使用,那么第一个方法好,否则,使用第二个方法。
事实上,使用第二个方法,我们还可以给它传递相关参数,比如表名,从而通用化。另外,第二个方法也可以变种为返回DataView、DataTable等。
然后在intitree里, path.datasource = new CreateDataSet().tree;