#Persistent #SingleInstance force Gui,Add,Edit,vD_Name ym Gui,Add,Button,ym,搜索_Name Gui,Add,ListView,xm r15 gMySubroutine ,Name|File|ID Gui,Add,StatusBar FileDelete,e:TestDatabase.MDB sDatabaseName := "e:TestDatabase.MDB" ; 要访问的数据库 sTableName := "MyTable" ; 数据库中的表 adOpenStatic := 3, adLockOptimistic := 3, adUseClient := 3 ; 设置常量 ; 创建数据库 oCatalog := ComObjCreate("ADOX.Catalog") oCatalog.Create("Provider='Microsoft.Jet.OLEDB.4.0';Data Source=" sDatabaseName) oTable := ComObjCreate("ADOX.Table") oTable.Name := sTableName oTable.Columns.Append("Name", 202, 50) oTable.Columns.Append("File", 202, 50) oTable.Columns.Append("ID", 3) oCatalog.Tables.Append(oTable) oTable := "" oCatalog := "" oConnection := ComObjCreate("ADODB.Connection") sConnectionString := "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" . sDatabaseName oConnection.Open(sConnectionString) oRecordset := ComObjCreate("ADODB.Recordset") oRecordset.CursorLocation := adUseClient oRecordset.Open("SELECT * FROM MyTable ORDER BY File ASC", oConnection, adOpenStatic, adLockOptimistic) Gui,Show Loop, %A_ScriptDir%*.ahk { oRecordset.AddNew() oRecordset.Fields["Name"]:= A_LoopFileName oRecordset.Fields["File"]:= A_LoopFileTimeModified oRecordset.Fields["ID"]:= 1 oRecordset.Update() ; 更新后记录集中的数据才添加到数据库中 } gosub,D_yl return MySubroutine: LV_GetText(D_ss, A_EventInfo, 1) oRecordset := ComObjCreate("ADODB.Recordset") oRecordset.CursorLocation := adUseClient oRecordset.Open("SELECT * FROM MyTable ORDER BY ID DESC, File DESC", oConnection, adOpenStatic, adLockOptimistic) ;sSearchCriteria := "Name = '读取2.ahk'" sSearchCriteria = Name = '%D_ss%' oRecordset.Find(sSearchCriteria) NowID:=oRecordset.Fields["ID"].Value NowID++ oRecordset.Fields["ID"]:= NowID oRecordset.MoveNext() gosub,D_yl return Button搜索_Name: gosub,D_yl return D_yl: LV_Delete() oRecordset := ComObjCreate("ADODB.Recordset") oRecordset.CursorLocation := adUseClient oRecordset.Open("SELECT * FROM MyTable ORDER BY ID DESC, File DESC", oConnection, adOpenStatic, adLockOptimistic) While, !oRecordset.EOF { NowName:=oRecordset.Fields["Name"].Value NowFile:=oRecordset.Fields["File"].Value NowID:=oRecordset.Fields["ID"].Value LV_Add("",NowName , NowFile,NowID) oRecordset.MoveNext() ; 移动到下一个记录 } LV_ModifyCol() return