Foxtable(狐表)用户栏目专家坐堂 → 关于外部表的数据填充!数据接收表不能是临时表?{已解决}


  共有5492人关注过本帖树形打印复制链接

主题:关于外部表的数据填充!数据接收表不能是临时表?{已解决}

帅哥哟,离线,有人找我吗?
gsnake
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:682 积分:5263 威望:0 精华:0 注册:2012/6/6 14:37:00
关于外部表的数据填充!数据接收表不能是临时表?{已解决}  发帖心情 Post By:2013/10/16 15:38:00 [显示全部帖子]

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT * From {学员信息} where [录交通网]=1"
dt = cmd.ExecuteReader()

Dim cmd1 As New SQLCommand
Dim dt1 As DataTable
cmd1.C
cmd1.CommandText = "SELECT * From {预考培训} "
dt1 = cmd.ExecuteReader()


Dim fl As New Filler
fl.SourceTable = dt '指定数据来源
fl.SourceCols = "身份证号" '指定数据来源列
fl.DataTable = dt1 '指定数据接收表
fl.DataCols = "身份证号" '指定数据接收列
fl.Fill() '填充数据
dt1.save
 
我检查了 dt 有数据   【原这里写成dt1了】
 
难道  指定数据接收表   不能临时??
[此贴子已经被作者于2013-10-20 17:58:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
gsnake
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:682 积分:5263 威望:0 精华:0 注册:2012/6/6 14:37:00
  发帖心情 Post By:2013/10/16 15:47:00 [显示全部帖子]

我写反了!对不起!!是 dt 有数据  ,我填充到 dt1

 回到顶部
帅哥哟,离线,有人找我吗?
gsnake
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:682 积分:5263 威望:0 精华:0 注册:2012/6/6 14:37:00
  发帖心情 Post By:2013/10/16 17:15:00 [显示全部帖子]

看看吧,就是要合格的就加入cs1

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


 回到顶部
帅哥哟,离线,有人找我吗?
gsnake
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:682 积分:5263 威望:0 精华:0 注册:2012/6/6 14:37:00
  发帖心情 Post By:2013/10/16 21:28:00 [显示全部帖子]

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT * From {cs} where [合格情况]=true"
dt = cmd.ExecuteReader()

'Dim cmd1 As New SQLCommand
'Dim dt1 As DataTable
'cmd1.C
'cmd1.CommandText = "SELECT * From {cs1} "
'dt1 = cmd.ExecuteReader()

Dim fl As New Filler
fl.SourceTable = dt '指定数据来源
fl.SourceCols = "身份证号" '指定数据来源列
fl.DataTable = DataTables("cs1") '指定数据接收表
fl.DataCols = "身份证号" '指定数据接收列
fl.Fill() '填充数据

BIN老师,我注销了DT1的代码,结果一样!!

现在的问题是 假设cs1里面保存了身份证号=‘1111111111111’的行

现在又从cs里面追加身份证号=‘1111111111111“的行

如果不执行下面语句
'Dim cmd1 As New SQLCommand
'Dim dt1 As DataTable
'cmd1.C
'cmd1.CommandText = "SELECT * From {cs1} "
'dt1 = cmd.ExecuteReader()

cs1追加时就会身份证号重复!!!

另外:fl.DataTable = DataTables("cs1") '指定数据接收表

为什么不能 fl.DataTable =dt1????  





 回到顶部
帅哥哟,离线,有人找我吗?
gsnake
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:682 积分:5263 威望:0 精华:0 注册:2012/6/6 14:37:00
  发帖心情 Post By:2013/10/16 21:55:00 [显示全部帖子]

我转成了2003的库,你还是帮忙看看!

 

将cs  的数据 填充到 cs1  ,只填充身份证号 ,,但cs1 身份证号不能重复

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


 回到顶部
帅哥哟,离线,有人找我吗?
gsnake
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:682 积分:5263 威望:0 精华:0 注册:2012/6/6 14:37:00
  发帖心情 Post By:2013/10/16 22:20:00 [显示全部帖子]

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT * From {cs} where [合格情况]=true"
dt = cmd.ExecuteReader()

'Dim cmd1 As New SQLCommand
'Dim dt1 As DataTable
'cmd1.C
'cmd1.CommandText = "SELECT * From {cs1} "
'dt1 = cmd1.ExecuteReader()

Dim fl As New Filler
fl.SourceTable = dt '指定数据来源
fl.SourceCols = "身份证号" '指定数据来源列
fl.DataTable = DataTables("cs1") '指定数据接收表
fl.DataCols = "身份证号" '指定数据接收列
 
 
fl.ExcludenullValue= True
fl.ExcludeExistValue=True
fl.Fill() '填充数据

如果不执行红色的部分,已经保存在后台的数据,没法参与不重复的比较,填充是会将已经存在的身份证号重复填充!!

fl.DataTable = DataTables("cs1") '指定数据接收表   

还是这句  为什么不能用 dt1????

为说明我的想法,我在项目里加了 "[_Identify] Is Null",开始不加载数据

然后filler填充! 然后再看看 access 的 cs1,就重复了



 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

[此贴子已经被作者于2013-10-17 12:06:37编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
gsnake
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:682 积分:5263 威望:0 精华:0 注册:2012/6/6 14:37:00
  发帖心情 Post By:2013/10/17 10:18:00 [显示全部帖子]

我再顶上来!希望能得到回答

 回到顶部
帅哥哟,离线,有人找我吗?
gsnake
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:682 积分:5263 威望:0 精华:0 注册:2012/6/6 14:37:00
  发帖心情 Post By:2013/10/17 11:09:00 [显示全部帖子]

找到原因了!dt1是临时表!不是database!

 

继续讨论研究一下!!,好了我发上来,欢迎各位指教


 回到顶部
帅哥哟,离线,有人找我吗?
gsnake
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:682 积分:5263 威望:0 精华:0 注册:2012/6/6 14:37:00
  发帖心情 Post By:2013/10/17 12:08:00 [显示全部帖子]

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C

cmd.CommandText = "SELECT * From {cs} where [合格情况]=true"
dt = cmd.ExecuteReader()

 

Dim cmd1 As New SQLCommand
Dim dt1 As DataTable
cmd.C

cmd1.CommandText = "SELECT * From {cs1} "
dt1 = cmd1.ExecuteReader(True)

 

Dim fl As New Filler
fl.SourceTable = dt '指定数据来源
fl.SourceCols = "身份证号" '指定数据来源列
fl.DataTable = dt1 '指定数据接收表
fl.DataCols = "身份证号" '指定数据接收列
fl.ExcludenullValue= True
fl.ExcludeExistValue=True
fl.Fill() '填充数据
dt1.save

 

 

找到原因了!!呵呵,那行红字

[此贴子已经被作者于2013-10-17 12:09:41编辑过]

 回到顶部