Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
下载信息 [文件大小: 下载次数: ] | |
点击浏览该文件:管理项目2.rar |
为测试方便,使用的是Aceess数据库作为数据源。
如果使用Sql Server,只需删除BeforeConnectOuterDataSource事件中的代码即可。
这样修改也报错
Dim bh As String = c("定额编号")
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT * From de WHERE 定额编号 = bh "
dt = cmd.ExecuteReader()
For Each dr2 As DataRow In DataTables(dt).Select("定额编号 = bh ")
怎样修改正确?BeforeLoadOuterTable 应这样设置?
谢谢!
这样修改也报错
Dim bh As String = c("定额编号")
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT * From de WHERE 定额编号 = bh "
dt = cmd.ExecuteReader()
For Each dr2 As DataRow In DataTables(dt).Select("定额编号 = bh ")
怎样修改正确?BeforeLoadOuterTable 应这样设置?
谢谢!
1、上面的代码和BeforeLoadOuterTable没有关系吧,报错得看错误提示,既然使用外部数据源,Cmd应该指定数据源名称,否则默认使用内部数据源,自然报错
2、如果所有的表,都不加载数据,BeforeLoadOuterTable的代码为:
e.SelectString = "Select * From " & e.DataTableName & "Where 1> 2"
如果是部分表:
select case e.DataTableName
case "表1","表2","表3"
e.SelectString = "Select * From " & e.DataTableName & "Where 1> 2"
end select
3、一条一条加载,是低效做法,也容易带来其他问题,最好用Load和LoadFilter直接载入即可。
如果只是部分列,例如表4加载部分列,BeforeLoadOuterTable的代码为:
select case e.DataTableName
case "表1","表2","表3"
e.SelectString = "Select * From " & e.DataTableName & "Where 1> 2"
case
e.SelectString = "Select 第一列,第二列,第三列 From 表 Where 1> 2"
end select
打开项目后,需要加载表4符合条件的数据:
DataTables("表4").LoadFilter = 条件表达式
DataTables("表4").Load