some example code
Code: Select all
Procedure SQL_Update(db_id.i, db_query.s)
If IsDatabase(db_id)
If DatabaseUpdate(db_id,db_query) = 0
MessageRequester("SQL Error", DatabaseError(), #PB_MessageRequester_Error)
EndIf
EndIf
EndProcedure
Procedure MySQL_Connect(db_host.s, db_port.i, db_name.s, db_user.s, db_pass.s)
db_id = OpenDatabase(#PB_Any, "host="+db_host+" port="+Str(db_port)+" dbname="+db_name, db_user, db_pass , #PB_Database_MySQL)
If db_id = 0
MessageRequester("SQL Error", DatabaseError(), #PB_MessageRequester_Error)
EndIf
ProcedureReturn db_id
EndProcedure
Procedure SQLLite_Connect(db_name.s, db_user.s, db_pass.s)
If CreateFile(0, db_name)
CloseFile(0)
EndIf
db_id = OpenDatabase(#PB_Any, db_name, db_user, db_pass , #PB_Database_SQLite)
If db_id = 0
MessageRequester("SQL Error", DatabaseError(), #PB_MessageRequester_Error)
EndIf
ProcedureReturn db_id
EndProcedure
#Use_Remote = 1
If #Use_Remote= 0
UseSQLiteDatabase()
db_name.s = "test_db"
db_user.s = ""
db_pass.s = ""
db_id=SQLLite_Connect(db_name, db_user, db_pass)
ElseIf #Use_Remote = 1
UseMySQLDatabase()
db_host.s = "127.0.0.1"
db_port.i = 3306
db_name.s = "test_db"
db_user.s = "root"
db_pass.s = ""
db_id=MySQL_Connect(db_host, db_port, db_name, db_user, db_pass)
EndIf
SQL_Update(db_id, "DROP TABLE IF EXISTS food")
SQL_Update(db_id, "CREATE TABLE food (name VARCHAR(50), weight INT)")
; error, table already exists
SQL_Update(db_id, "CREATE TABLE food (name VARCHAR(50), weight INT)")
; error, bad sql
SQL_Update(db_id, "CREATEtypo TABLE food (name VARCHAR(50), weight INT)")