找回密码
 加入
搜索
查看: 2686|回复: 2

[AU3基础] AU3如何从一个数据库取值然后保存到一个新的数据库里

[复制链接]
发表于 2013-5-23 20:30:35 | 显示全部楼层 |阅读模式
我想实现一个从原先的数据库按条件取值 然后分别保存到新的数据库 我研究半天只能读取原先数据库的一条数据保存下来 求教各位大侠 如何修改成读取原先数据库所有达到条件的数据 然后一条条保存到新数据库呢 不胜感激
代码如下
#NoTrayIcon
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#PRE_Icon=uninst.exe
#PRE_Res_requestedExecutionLevel=None
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Process.au3>
#include <ListViewConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("数据库操作例子", 633, 454, 193, 115)
$ListView1 = GUICtrlCreateListView("   机器号  |  上机时间  |   押金  |  上机费用  |   应找 |下机时间  ", 8, 24, 617, 361)
$Button0 = GUICtrlCreateButton("创建数据库", 20, 408, 97, 25, 0)
$Button1 = GUICtrlCreateButton("写入1000条数据", 130, 408, 130, 25, 0)
$Button2 = GUICtrlCreateButton("更新数据", 400, 408, 97, 25, 0)
$Button3 = GUICtrlCreateButton("删除数据",510, 408, 113, 25, 0);280, 408, 113, 25, 0)
$Button4 = GUICtrlCreateButton("读取数据", 280, 408, 113, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Global $mdb_data_path = IniRead("config.ini", "mdb", "lujing", "");数据库文件名
Global $mdb_data_pwd="XXX"   ;密码
Global $tablename="XXX"
Global $FindData=""
Global $jiqihao
Global $mdb_new_path="fxcs.mdb"
Global $tbname="fxcs"
Global $path = @ScriptDir
Global $all="*"
Global $var                                                            
Global $class="#32770"

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
         Case  $Button0
            data($mdb_new_path, $tbname)
                Case  $Button1;写入
                sx()
                du()
                  
        Case $Button2 ;更新
                up()
                du()
    Case $Button3 ;删除
               del()
              du() 
    Case $Button4 ;读取
              du()
        EndSwitch
WEnd

Func sx()           ;读取备注对应的机器号列表
  $conn = ObjCreate("ADODB.Connection")
  $RS = ObjCreate("ADODB.Recordset")
  $conn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&$mdb_data_path&";Jet Oledb:Database Password="&$mdb_data_pwd)
  $RS.ActiveConnection = $conn
  $RS.Open ("Select "&$all&" From "&$tablename&" Where Note<>'"&$FindData&"'" )
        while Not $RS.eof And Not $RS.bof 
           If @error =1 Then ExitLoop
        $PcName1 = $Rs.Fields(2).value
                $time1 = $Rs.Fields(16).value
                $yj1 = $Rs.Fields(12).value
                $fy = $Rs.Fields(19).value
                $fy1 = Round($fy, 0)
                $yz1 = Number($yj1-$fy1)
                $xjsj = @YEAR&"年"&@MON&"月"&@MDAY&"日"&@HOUR&"点"&@MIN&"分" 
        $rs.movenext 
        WEnd        
  $rs.close
  $conn.Close
  $addfld = ObjCreate("ADODB.Connection")
  $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $mdb_new_path & ";Jet Oledb:Database Password=" & $mdb_data_pwd)
  $addfld.Execute("insert into fxcs (PcName,sjtime,yj,fy,yz,xjsj) values('"&$PcName1&"','"&$time1&"','"&$yj1&"','"&$fy1&"','"&$yz1&"','"&$xjsj&"')")
  $addfld.close
EndFunc
Func data($mdb_new_path, $tbname)
if not FileExists($mdb_new_path) Then
$newMdb = ObjCreate("ADOX.Catalog")
$newMdb.Create("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_new_path)
$newmdb.ActiveConnection.Close;建数据库
$addtbl = ObjCreate("ADODB.Connection")
$addTbl.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_new_path)
$addTbl.Execute("CREATE TABLE " & $tbname)
$addtbl.Close;建表
 
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_new_path)
$addfld.Execute("ALTER TABLE " & $tbname & " ADD PcName char,sjtime int,yj int,fy int ,yz int ,xjsj char");建立6个表 分别为 计算机名 上机时间 押金 上机费用 应找金额 下机时间
$addfld.Close;建列表名
MsgBox(64,"提示","建立数据库成功",5)
Else
MsgBox(64,"提示","你已经建立了一个数据库了",5)
EndIf
EndFunc
 楼主| 发表于 2013-5-27 15:15:26 | 显示全部楼层
求解惑啊。。
发表于 2013-5-27 17:13:33 | 显示全部楼层
把insert into 放到循环里面去。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-18 12:54 , Processed in 0.077288 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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