ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1402|回复: 7

哪位有把excel数据导入SQLserver2005的经历

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-7-18 17:21 | 显示全部楼层 |阅读模式
哪位有把excel数据导入SQLserver2005的经历,想实现先将对应server表中数据清除,然后对应列数据导入。 请问是否要设置登录窗口,哪位同仁有这方面的例子?麻烦分享一下。


或者请朋友帮忙,把我这个自用表格的数据实时更新成数据库中对应的数据就好。

自用表.rar

57.38 KB, 下载次数: 12

自己经常使用的表格

模板表.rar

9.83 KB, 下载次数: 12

导入数据库的模板表格

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-7-18 18:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
把模板表格导入数据库就行。excel和数据库中的列都是相对应的,只需要实现一个删除,一个导入就行。请问谁有这方面的实例啊,参考一下,初学者请见谅。

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-7-18 19:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
链接SQL server时候怎么设置一个可以手动输入的对话框呢

TA的精华主题

TA的得分主题

发表于 2013-7-19 10:30 | 显示全部楼层
你可以设计一个输入界面,可有用Excel单元格实现,也可用窗体及一些控件来实现。

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-7-20 13:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
hnwxm 发表于 2013-7-19 10:30
你可以设计一个输入界面,可有用Excel单元格实现,也可用窗体及一些控件来实现。

我现在已决定只要实现最简单的功能就行,第一,链接sqlserver数据库,第二,清空对应数据表,第三,把excel中的数据复制到数据表中(所有的列数据都是想对应的)。
请问朋友有相关的代码吗?参考一下。呵呵。先谢谢了

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-7-20 17:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
游戏辅助 发表于 2013-7-20 13:52
我现在已决定只要实现最简单的功能就行,第一,链接sqlserver数据库,第二,清空对应数据表,第三,把exc ...
  1. Sub qqqQQQ1()
  2.     Dim conn As New ADODB.Connection
  3.     Dim conn2
  4.     Dim rs As New ADODB.Recordset
  5.     Dim i%, strTemp$, RowNum%, K%
  6.     Dim wkSheet As Worksheet
  7.     If MsgBox("确认要导入数据吗?", vbYesNo) = 7 Then Exit Sub
  8.     '建立与SQL的连接
  9.    conn.Open "Driver={SQL Server};server=.;uid=sa;pwd=dz;database=mainlogsql_cq;"
  10.     Set wkSheet = Worksheets("sheet2")
  11.     strTemp = "DELETE FROM JP_JXSJB"
  12.     strTemp = "WHERE WID='HH12P110'"
  13.     RowNum = Range("c65536").End(xlUp).Row
  14.     On Error GoTo 9
  15.     conn.BeginTrans
  16.         K = 0
  17.         For i = 2 To RowNum
  18.             If wkSheet.Cells(i, 2).Value <> 0 Then
  19.                 '拼写INSERT语句的SQL语句
  20.                 strTemp = "insert into JP_JXSJB(WID,SKNO,RID,DATE,TIME,ACTC,JXLX,XH,DEPTH,XDD,XDF,FWD,FWF,VDEPTH,X,Y,ZWY,ZFW,QJBHL,CLSJ,BZ) "
  21.                 strTemp = strTemp & " values( '" & wkSheet.Cells(i, 1).Value & "'  ,  '" & _
  22.                                                     wkSheet.Cells(i, 2).Value & "'  ,  '" & _
  23.                                                     wkSheet.Cells(i, 3).Value & "'  ,  '" & _
  24.                                                     wkSheet.Cells(i, 4).Value & "'  ,  '" & _
  25.                                                     wkSheet.Cells(i, 5).Value & "'  ,  '" & _
  26.                                                     wkSheet.Cells(i, 6).Value & "'  ,  '" & _
  27.                                                     wkSheet.Cells(i, 7).Value & "'  ,  '" & _
  28.                                                     wkSheet.Cells(i, 8).Value & "'  ,  '" & _
  29.                                                     wkSheet.Cells(i, 9).Value & "'  ,  '" & _
  30.                                                     wkSheet.Cells(i, 10).Value & "'  ,  '" & _
  31.                                                     wkSheet.Cells(i, 11).Value & "'  ,  '" & _
  32.                                                     wkSheet.Cells(i, 12).Value & "'  ,  '" & _
  33.                                                     wkSheet.Cells(i, 13).Value & "'  ,  '" & _
  34.                                                     wkSheet.Cells(i, 14).Value & "'  ,  '" & _
  35.                                                     wkSheet.Cells(i, 15).Value & "'  ,  '" & _
  36.                                                     wkSheet.Cells(i, 16).Value & "'  ,  '" & _
  37.                                                     wkSheet.Cells(i, 17).Value & "'  ,  '" & _
  38.                                                     wkSheet.Cells(i, 18).Value & "'  ,  '" & _
  39.                                                     wkSheet.Cells(i, 19).Value & "'  ,  '" & _
  40.                                                     wkSheet.Cells(i, 20).Value & "'  ,  '" & _
  41.                                                     wkSheet.Cells(i, 21).Value & "')"
  42.                 '执行INSERT语句
  43.                 conn.Execute strTemp
  44.                 K = K + 1
  45.             End If
  46.         Next
  47.     conn.CommitTrans '结束插入操作的事务
  48.     ThisWorkbook.Save
  49.     '显示已经插入的记录条数
  50.     conn.Close '关闭链接
  51.     Set rs = Nothing '释放内存
  52.     Set conn = Nothing '释放内存
  53.    
  54.     Set wkSheet = Nothing
  55.     Application.ScreenUpdating = True
  56.    
  57.     MsgBox "导入完毕!" & Chr(10) & Chr(10) & "已经插入的条数:" & K
  58.     Exit Sub
  59. 9:
  60.     'Conn.RollbackTrans
  61.     MsgBox Err.Description & "第" & i & "行 导入出错"

  62. End Sub

复制代码
代码如上。

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-7-20 17:37 | 显示全部楼层
游戏辅助 发表于 2013-7-20 17:35
代码如上。

为何无法操作数据库,不能实现删除特定语句,也不能insert

TA的精华主题

TA的得分主题

发表于 2013-7-21 08:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
你是想一次更新部分记录,还是要每次都更新全部记录。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-28 23:34 , Processed in 0.031263 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表