Foxtable(狐表)用户栏目专家坐堂 → 请给一下,excel导入sql数据库中避免重复值的代码


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

主题:请给一下,excel导入sql数据库中避免重复值的代码

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


加好友 发短信
等级:三尾狐 帖子:705 积分:5411 威望:0 精华:0 注册:2014/3/15 23:14:00
请给一下,excel导入sql数据库中避免重复值的代码  发帖心情 Post By:2014/11/10 18:55:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/10 19:03:00 [只看该作者]

导入foxtable还是sql数据库?

 

如果是foxtable,可以导入以后,删除重复;也可以用代码直接操作判断后导入 http://www.foxtable.com/help/topics/2334.htm


 回到顶部
客人(119.117.*.*)
  3楼


  发帖心情 Post By:2014/11/10 19:07:00 [只看该作者]

是sql数据库

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/10 19:08:00 [只看该作者]

sql数据库,不行,导入以后,你再剔除重复就行。

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


加好友 发短信
等级:三尾狐 帖子:705 积分:5411 威望:0 精华:0 注册:2014/3/15 23:14:00
  发帖心情 Post By:2014/11/10 19:10:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/10 19:11:00 [只看该作者]

Dim i As Integer
For i  = DataTables("表A").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("表A").DataRows(i)
    Dim dr2 As DataRow = DataTables("表A").Find("第一列='" & dr("第一列") & "' and 第二列='" & dr("第二列") & "' and _Identify <> " & dr("_Identify"))
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next


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


加好友 发短信
等级:三尾狐 帖子:705 积分:5411 威望:0 精华:0 注册:2014/3/15 23:14:00
  发帖心情 Post By:2014/11/10 19:49:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/10 19:56:00 [只看该作者]

红色代码改成自己的

 

Dim dlg As new OpenFileDialog
dlg.Filter = "Excel文件|*.xls"
Dim fl As String

If dlg.ShowDialog = DialogResult.OK Then
    fl = dlg.FileName
   
    Dim dic As Dictionary(Of String ,String)
    Dim cmd As new SQLCommand
    cmd.CommandText = "select * From {khda}"
    Dim dt As DataTable = cmd.ExecuteReader(True)
    Dim book As new XLS.Book(fl)
    Dim sheet As XLS.Sheet = book.Sheets("sheet1")
    If sheet(0,1).Value<>"客户编码" Then
        msgbox("字段不匹配")
        Return
    End If
    If sheet(0,2).Value<>"客户名称" Then
        msgbox("字段不匹配")
        Return
    End If
    If sheet(0,3).Value<>"安装地址" Then
        msgbox("字段不匹配")
        Return
    End If
    If sheet(0,4).Value<>"主卡卡号" Then
        msgbox("主卡卡号顺序不匹配")
        Return
    End If
    If sheet(0,5).Value<>"主卡金额" Then
        msgbox("主卡金额顺序不匹配")
        Return
    End If
    If sheet(0,6).Value<>"副卡卡号" Then
        msgbox("副卡卡号顺序不匹配")
        Return
    End If
    If sheet(0,7).Value<>"副卡金额" Then
        msgbox("副卡金额顺序不匹配")
        Return
    End If
    
    
    Dim nms() As String = {"编号","产品","客户","雇员","单价","折扣","数量","日期"}
    For n As Integer = 1 To Sheet.Rows.Count -1
        Dim bh As String = sheet(n,0).Text
        Dim dr As DataRow = dt.Find("编号 = '" & bh & "'")
        If dr Is Nothing Then '如果不存在同编号的订单
            dr =  dt.AddNew()
        End If
        For m As Integer = 0 To nms.Length - 1
            dr(nms(m)) = Sheet(n,m).Value
        Next

        dr.Save
    Next

End If

[此贴子已经被作者于2014-11-10 19:57:01编辑过]

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


加好友 发短信
等级:三尾狐 帖子:705 积分:5411 威望:0 精华:0 注册:2014/3/15 23:14:00
  发帖心情 Post By:2014/11/10 20:44:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/10 20:45:00 [只看该作者]

 你msgbox看一下对应值是什么

 回到顶部
总数 11 1 2 下一页