Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
在帮助中有一段数据合并代码,试做了一个始终不能成功,请各位老师帮看一下,问题出在哪里?该怎样修改?谢谢!
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim sCols() As String = {"已发","标题","小区","楼层","室厅卫","面积","价格","描述","装修","手机号","年代"}
Dim dCols() As String = {"已发","标题1","小区1","楼层1","户型","面积","价格","描述","装修","手机号","年代"}
cmd.ConnectionName = "C:\Documents and Settings\Administrator\桌面\SpiderResult.mdb"
cmd.CommandText = "SELECT * From {content}"
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.DataRows
Dim nr As DataRow = DataTables("Content").AddNew()
For i As Integer =0 To sCols.Length -1
nr(dCols(i)) = dr(sCols(i))
Next
Next
注:目的是将桌面的SpiderResult.mdb文件中的表content中的内容导入到当前FOXTABLE文件的content中,两个文件中表结构不同。
下载信息 [文件大小: 下载次数: ] | |
![]() |
http://www.foxtable.net/help/topics/0685.htm
Dim mg As New Merger
mg.SourcePath = ProjectPath & "SpiderResult.mdb"
mg.SourceTableName = "Content"
mg.DataTableName = "Content"
mg.FieldMaps.Add("标题","标题1")
mg.FieldMaps.Add("小区","小区1")
mg.FieldMaps.Add("楼层","楼层1")
mg.Merge()
谢谢C老师,像这种情况能否举一个例子,其中最令人困惑的地方是数据源名称和access2003文件中的表,下列文件好像是针对EXCEL文件的,同时好像也不能指明数据源的路径?
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim sCols() As String = {"列名1", "列名2", "列名3"}
Dim dCols() As String = {"列名A", "列名B", "列名C"}
cmd.ConnectionName = "数据源名称"
cmd.CommandText = "SELECT * From {员工}"
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.DataRows
Dim nr As DataRow = DataTables("员工").AddNew()
For i As Integer =0 To sCols.Length -1
nr(dCols(i)) = dr(sCols(i))
Next
Next
3楼问题只有看贺老师了???增加类似设计
我测试2楼c版的代码就能够直接执行了啊。
记得将列“标题1”的长度设置长一些,否则会报错。
2楼C版没有问题!是学习“自行编码合并外部数据”时,想试试更灵活的合并方式,呵呵
自行编码合并外部数据
我们知道,用Merger可以合并外部数据到表中,不过Merger没有排除重复内容的选项,有时不能满足我们的要求。
例如项目中有一个员工表,要从一个外部文件中合并数据到这个员工表中,希望在合并过程中检查身份证号码,如果员工表已经存在相同身份证号码的行,则跳过此行。
假定被合并的表和员工表的结构相同,代码如下:
Dim
cmd As New SQLCommand可见要自己设计一个功能更强的Merger,其实是件很简单的事情。
如果两个表的结构不同,可以参考下面的代码:
Dim
cmd As New SQLCommand哦,明白。这种方式感觉对多数据源的情况不是很方便,相比之下C版2楼方式方便很多!谢谢两位老师!