找回密码
 加入
搜索
查看: 1852|回复: 3

[AU3基础] 大虾帮忙看一下,更新数据库那有什么错误

[复制链接]
发表于 2010-9-4 22:05:28 | 显示全部楼层 |阅读模式
本帖最后由 mkc1989 于 2010-9-5 08:20 编辑
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
$mdb_data_path="sky.mdb"
$mdb_data_pwd=""
$name="天生我才"
$pass="过去"
$qq=25359272
$e_mail="xtybfgu@163.com"
$T="*"
$tblname="tywb"
$datepass="abcd123"
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("数据库操作例子", 633, 454, 193, 115)
$ListView1 = GUICtrlCreateListView("   ID |      姓名 |    密码 |     QQ    |        E_mail ", 8, 24, 617, 361)
$Button0 = GUICtrlCreateButton("创建数据库", 20, 408, 97, 25, 0)
$Button1 = GUICtrlCreateButton("写入5条数据", 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 ###
;du()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
   Case $GUI_EVENT_CLOSE
    Exit
         Case $Button0
            data($mdb_data_path, $tblname)
         Case $Button1;写入
            sx()
     du()
Case $Button2 ;更新
                up()
                du()

    Case $Button3 ;删除
               del()
              du()

    Case $Button4 ;读取

              du()


EndSwitch
WEnd

Func du()
     GUICtrlSendMsg($ListView1, $LVM_DELETEALLITEMS, 0, 0)
          $addfld = ObjCreate("ADODB.Connection")
            $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &$mdb_data_path&";Jet Oledb:Database Password=" & $datepass)
         $RS =ObjCreate("ADODB.Recordset")
          $RS.ActiveConnection = $addfld
            $RS.Open ("Select "&$T & " From " & $tblname )
           while Not $RS.eof And Not $RS.bof
           if @error =1 Then ExitLoop
            GUICtrlCreateListViewItem ( $RS.Fields (0).value&"|"& $RS.Fields (1).value&"|"& $RS.Fields (2).value&"|"& $RS.Fields (3).value&"|"& $RS.Fields (4).value,$ListView1 )

              ; MsgBox(0, "", $RS.Fields (1).value);显示表第一个数据
             $rs.movenext
              WEnd
               $rs.close
              $addfld.Close
EndFunc

Func del()
   $Strn=GUICtrlRead(GUICtrlRead($ListView1))
   $Strnspin=StringSplit($Strn,"|")  
            $addfld = ObjCreate("ADODB.Connection")
            $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &$mdb_data_path&";Jet Oledb:Database Password=" & $datepass)
    $sQuery ="DELETE FROM " & $tblname & " IN '" & $mdb_data_path & "' WHERE id" & " = " & $Strnspin[1] 
         ; MsgBox(0,"",$sQuery)
           $addfld.execute($sQuery)
           $addfld.close
MsgBox(4096, "提示:",$Strnspin[1]&"    删除成功!!!")

EndFunc


Func up()
         $Strn=GUICtrlRead(GUICtrlRead($ListView1))
   $Strnspin=StringSplit($Strn,"|")  
            $addfld = ObjCreate("ADODB.Connection")
            $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &$mdb_data_path&";Jet Oledb:Database Password=" & $datepass)
                        $duread3 ="jhwl"
                        $add2 = "autoit"
                        $duread4=123456
                        $dd="adds"
                        $update = 'name="' & $add2  & '" pass= "' & $duread3 & '"qq="'& $duread4 & '"e_mail="'&$dd&'"'
    $sQuery ="update " & $tblname & "set"& $update & " = " & $Strnspin[1] 
         ; MsgBox(0,"",$sQuery)
           $addfld.execute($sQuery)
           $addfld.close
    MsgBox(4096, "提示:",$Strnspin[1]&"    更新成功!!!")
EndFunc

Func sx()
         $addfld = ObjCreate("ADODB.Connection")
      
       $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $mdb_data_path &";Jet Oledb:Database Password=" & $datepass)
      $x=0
       While 1
        $x+=1
       if $x >5 Then ExitLoop
      $addfld.Execute("insert into tywb (name,pass,qq,e_mail) values('"&$name&"','"&$pass&"','"&$qq&"','"&$e_mail&"')")
     WEnd
      ; $conn.Execute("insert into tywb (name,pass,qq,e_mail) values('"&$name&"','"&$pass&"','"&$qq&"','"&$e_mail&"')")
     ; $RS.close
          $addfld.close
         MsgBox(4096, "提示:"," 成功写入数据库!") 
EndFunc

Func data($mdb_data_path, $tblname)
if not FileExists($mdb_data_path) Then
$newMdb = ObjCreate("ADOX.Catalog")
$newMdb.Create("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path &";Jet Oledb:Database Password=" & $datepass)
$newmdb.ActiveConnection.Close;建数据库
$addtbl = ObjCreate("ADODB.Connection")
$addTbl.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path &";Jet Oledb:Database Password=" & $datepass)
$addTbl.Execute("CREATE TABLE " & $tblname)
$addtbl.Close;建表

$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path&";Jet Oledb:Database Password=" & $datepass)
$addfld.Execute("ALTER TABLE " & $tblname & " ADD id identity(1, 1) primary key,name char ,pass char ,qq int,e_mail char");id identity(1, 1) primary key为自动编号和主键
$addfld.Close;建列表名
MsgBox(64,"提示","建立数据库成功",5)
Else
MsgBox(64,"提示","你已经建立了一个数据库了",5)
EndIf
EndFunc
发表于 2010-9-4 22:57:53 | 显示全部楼层
没头没尾的东西,谁也没法帮你
 楼主| 发表于 2010-9-5 09:07:40 | 显示全部楼层
回复 2# 3mile


   我已经把全部代码给出了,帮忙看一下吧
发表于 2010-9-5 13:53:15 | 显示全部楼层
$update = ' name="' & $add2  & '"  , pass= "' & $duread3 & '" , qq="'& $duread4 & '" , e_mail="'&$dd&'"'
    $sQuery ="update " & $tblname & " set "& $update ;& " = " & $Strnspin[1]
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-15 02:28 , Processed in 0.073351 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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