完成vb下将excel的表导入sql

来源:互联网 发布:海洋cms采集资源库 编辑:程序博客网 时间:2024/05/21 09:42
忙了两天,找书,上网,查了一些资料总算吧这个问题解决了。对于像编程开发一类的工作,有时看书没太大的帮助,以为实践性比较强,还真的不如上网baidu或google一下来的快。前两天找的那篇文章其实没有利用上,倒是连到CSDN上的一个帖子给了直接方法。帖子表述如下:
******************************************************************
'引用ADO(Microsoft   ActiveX   Data   Objects   2.X   Library) 
  Private   Sub   Command1_Click() 
          On   Error   GoTo   err 
          Dim   cn   As   New   ADODB.Connection 
          '具体的数据库连接请自己改过来 
          cn.ConnectionString   =   "Provider=SQLOLEDB.1;Persist   Security   Info=False;User   ID=sa;Password=123;Initial   Catalog=dataBase001;Data   Source=mySERVICE" 
          cn.CursorLocation   =   adUseClient 
          cn.Open         
          cn.Execute   "select   *   into   NewTable   from   OpenRowSet('microsoft.jet.oledb.4.0','Excel   8.0;HDR=Yes;database=c:/Test.xls;','select   *   from   [Sheet1$]')" 
          cn.Close 
          Set   cn=Nothing 
          Exit   Sub 
  err: 
          MsgBox   err.Description 
  End   Sub
********************************************************************
由于刚接触数据库,知道这用的是ADO的方法,但是不知道他那引用ADO是什么意思,跑起代码总是第一个声明就错了。后来才知道要在工程->引用里把Microsoft ActiveX Data Library 2.x 选上。
现在目标已经实现,想把其中的几个点记录一下.
1.与sql的连接
这是一个最头大的问题,个人觉得最重要的就是把身份验证设为“混合模式”,用“windows模式”安全但是对编程开发很不便。在想方便就是选择“空密码”;
2.connectionstring
连接字符串各个参数的顺序可以互换,Initial   Catalog指数据库的名称,Data   Source指数据库服务器的地址。
3.sql语句中变量作为参数
变量还放在原参数的位置,但要在其两侧放上&,在加两个双引号,比如下句:
select   *   into   NewTable   from
现在用变量table代替NewTable
select   *   into   " & table & "  from

最后实现的代码如下:
Private Sub Command1_Click()
On Error GoTo err
          Dim cn     As New ADODB.Connection
         
          database = Text3.Text
          table = Text2.Text
          'cn.ConnectionString = "Provider=SQLOLEDB.1;Password=;Persist Security Info=false;User ID=sa;Initial Catalog=" & database & ";Data Source=(local)"
          cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=false;User ID=sa;Password=;Initial Catalog=" & database & ";Data Source=(local)"
          cn.CursorLocation = adUseClient
          cn.Open
         
          'cn.Execute "select   *   into   NewTable   from   OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=e:/test.xls;','select   *   from   [Sheet1$]')"
          cn.Execute "select   *   into   " & table & "  from   OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=" & filenamefet & ";','select   *   from   [Sheet1$]')"
          cn.Close
          Set cn = Nothing
          MsgBox "ok!"
          Exit Sub
err:
          MsgBox err.Description
End Sub

Private Sub Command2_Click()
    CommonDialog1.Filter = "EXCEL文件(*.xls)|*.xls"
    CommonDialog1.ShowOpen
    filenamefet = CommonDialog1.FileName
    Text1.Text = filenamefet
End Sub
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 欧卡2车卡住了怎么办 欧卡2车子卡住了怎么办 做题手感变差怎么办 吃鸡游戏掉帧怎么办 买了俄区游戏怎么办 战地1子弹用完了怎么办 1kb彩信点开了怎么办 玩地球末日卡顿怎么办 电脑显示不亮了怎么办 电脑玩游戏显卡停止运行怎么办 ie浏览器打开就停止工作怎么办 蝙蝠侠阿甘骑士卡顿怎么办 捷豹钥匙没电了怎么办 车钥匙没电 汽车报警怎么办 东西卡在门锁里怎么办 锁芯里面有东西怎么办 有东西卡在锁里怎么办 锁里面卡了牙签怎么办 塑料卡在锁里怎么办 门锁被牙签堵了怎么办 锁子里面卡东西怎么办 东西卡在锁里怎么办 开车门碰到旁边车门怎么办 美团退款后 物品怎么办 倒车影像是反的怎么办 荒野行动cp版玩着玩着关机怎么办 王者荣耀点击开始游戏就闪退怎么办 电脑遥控游玩ps4画面抖动怎么办 ps4特典不能用了怎么办 苹果x出现的分屏怎么办 电脑注册表文件丢失或损坏怎么办 cad绘图反应很慢怎么办 拍到货商家下架怎么办 电动车头太活了怎么办 快捷方式在根目录找不到了怎么办 神秘海域4卡bug了怎么办 地下城老是闪退怎么办 强制关机后电脑打不开了怎么办 文明5地中海的海军怎么办 文明5被贸易禁运怎么办 文明5海里的食物怎么办