簡單的例子,Sqlite的東西都忘光了,哎……
;Purebasic+Sqlite 使用學習 ;全局變量聲明 Global DbFile.s DbFile = "" Enumeration #Button_0 #Button_1 #Button_2 #Button_3 EndEnumeration ;函數聲明 Declare CreateDb() Declare InsertDb() Declare SearchDb() Declare DeleteDb() Declare Creatdb_Click() Declare Insertdb_Click() Declare Searchdb_Click() Declare Deletedb_Click() ;程序初始化 UseSQLiteDatabase() ;窗口 If OpenWindow(0, 500, 200, 195, 280, "PureBasic Window", #PB_Window_SystemMenu) ButtonGadget(#Button_0, 50, 20, 90, 40, "生成數據文件") ButtonGadget(#Button_1, 50, 80, 90, 50, "插入數據") ButtonGadget(#Button_2, 50, 150, 90, 50, "查詢數據") ButtonGadget(#Button_3, 50, 220, 90, 40, "刪除數據") Repeat Event = WaitWindowEvent() Select Event Case #PB_Event_Gadget Select EventGadget() Case #Button_0 Creatdb_Click() Case #Button_1 Insertdb_Click() Case #Button_2 Searchdb_Click() Case #Button_3 Deletedb_Click() EndSelect Case #PB_Event_CloseWindow Quit = 1 EndSelect Until Quit = 1 EndIf End ;函數實現 Procedure CheckDb(Database.l,Query.s) re = DatabaseUpdate(Database,Query) If re = 0 Debug DatabaseError() EndIf ProcedureReturn re EndProcedure Procedure CreateDb() FileName.s = SaveFileRequester("保存數據文件到...","MyDb.sdb","*.sdb|*.sdb",0) If FileName If CreateFile(0,FileName) CloseFile(0) EndIf If OpenDatabase(0,FileName,"","",#PB_Database_SQLite) CheckDb(0,"CREATE TABLE docs (ID INT,ParentId INT,Title CHAR(140),Texts TEXT,CreateTime INT,LastModifyTime INT)") DbFile = FileName CloseDatabase(0) EndIf EndIf EndProcedure Procedure InsertDb() DbFile = "D:/MyDb.sdb" If OpenDatabase(0,DbFile,"","",#PB_Database_SQLite) re = CheckDb(0,"INSERT INTO docs (ID,ParentId,Title,Texts,CreateTime,LastModifyTime) VALUES (1,0,'又想老爸,又想研子','真奇怪,爲什麼會想研子呢?',12354,12365)") If re = 0 ProcedureReturn EndIf Debug "插入數據成功!" CloseDatabase(0) Else CreateDb() Insertdb_Click() EndIf EndProcedure Procedure SearchDb() DbFile = "D:/MyDb.sdb" If OpenDatabase(0,DbFile,"","",#PB_Database_SQLite) If DatabaseQuery(0,"SELECT * FROM docs WHERE ID < 4") While NextDatabaseRow(0) Debug GetDatabaseString(0,2) Wend FinishDatabaseQuery(0) EndIf CloseDatabase(0) Else CreateDb() InsertDb() Searchdb_Click() EndIf EndProcedure Procedure DeleteDb() DbFile = "D:/MyDb.sdb" If OpenDatabase(0,DbFile,"","",#PB_Database_SQLite) re = CheckDb(0,"DELETE FROM docs WHERE ID = 1") If re = 0 ProcedureReturn EndIf Debug "刪除數據成功!" CloseDatabase(0) Else CreateDb() InsertDb() Deletedb_Click() EndIf EndProcedure Procedure Creatdb_Click() CreateDb() EndProcedure Procedure Insertdb_Click() InsertDb() EndProcedure Procedure Searchdb_Click() SearchDb() EndProcedure Procedure Deletedb_Click() DeleteDb() EndProcedure
不管學編程還是其他,都需要不斷地練習,做到真知在心,熟習在手,那麼遇到問題了就馬上心中有底,能夠有一個解決問題的思路,才能更好的解決問題!
用Purebasic中的interface來實現面向對象…… MyClass.pb ;定義一個類的接口,其實就是定義一個類的數據結構 Interface MyClass msgbox() destory() EndInterfac