Mga SFDatabase . Database serbisyo

Ang Database nagbibigay ng access ang serbisyo sa mga database na naka-embed o inilarawan sa mga Base na dokumento. Nagbibigay ang serbisyong ito ng mga pamamaraan upang:

Ang bawat pagkakataon ng Database Ang serbisyo ay kumakatawan sa isang solong database at nagbibigay ng access sa mga talahanayan, query at data nito.

Ang serbisyong ito ay hindi nagbibigay ng access sa mga form o ulat sa Base na dokumento na naglalaman ng database. Upang ma-access ang mga form sa isang Base na dokumento, sumangguni sa pamamaraan FormDocuments ng Base serbisyo.

note

Ang lahat ng palitan sa pagitan ng serbisyong ito at ng database ay ginagawa gamit lamang ang SQL.


Maaaring tumakbo ang mga SQL statement direkta o hindi direkta mode. Sa direktang mode ang pahayag ay inililipat sa database engine nang walang anumang pagsusuri o pagsusuri ng syntax.

Kasama sa mga ibinigay na interface ang mga simpleng talahanayan at listahan ng mga query, pati na rin ang pag-access sa data ng database.

tip

Upang gawing mas madaling mabasa ang mga SQL statement, maaari kang gumamit ng mga square bracket na "[ ]" upang ilakip ang mga pangalan ng mga talahanayan, query at field sa halip na gumamit ng iba pang mga nakalakip na character na maaaring eksklusibo sa ilang Relational Database Management Systems (RDBMS). Ngunit mag-ingat na ang pagsasama ng mga character ay sapilitan sa kontekstong ito.


Paghawak ng transaksyon

Bilang default, pinangangasiwaan ng database ang mga transaksyon sa auto-commit mode, ibig sabihin, ang commit ay ginagawa pagkatapos ng bawat SQL statement.

Gamitin ang Itakda angTransactionMode paraan upang baguhin ang default na gawi, na nagbibigay-daan para sa mga manu-manong commit at rollback.

Ang mga pamamaraan Mangako at Rollback ay ginagamit upang limitahan ang mga transaksyon.

Sa LibreOffice, mayroong limang uri ng mga mode ng paghihiwalay ng transaksyon, gaya ng tinukoy sa com.sun.star.sdbc.TransactionIsolation pare-parehong pangkat:

pare-pareho

Halaga

Interpretasyon

NONE

0

Ang paghawak ng transaksyon ay hindi pinagana at ang database ay nakatakda sa default na auto-commit mode.

READ_UNCOMMITTED

1

Maaaring mangyari ang mga maruruming pagbabasa, hindi nauulit na pagbabasa, at mga phantom read.

Kung ang isang row ay binago ng isang transaksyon, mababasa ng isa pang transaksyon ang mga pagbabagong ito kahit na hindi pa ito ginawa.

READ_COMMITTED

2

Ang mga maruruming pagbabasa ay pinipigilan, gayunpaman ang mga hindi nauulit na pagbabasa at phantom na pagbabasa ay maaaring mangyari.

Pinipigilan ng antas na ito na basahin ang mga hilera na may mga hindi nakasaad na pagbabago.

REPEATABLE_READ

4

Ang mga maruruming pagbabasa at hindi nauulit na pagbabasa ay pinipigilan. Gayunpaman, maaaring mangyari ang mga phantom reads.

Bukod sa pagpigil sa hindi naka-commit na data na mabasa, pinipigilan din nito na ang dalawang read operation sa parehong transaksyon ay magbabalik ng magkaibang resulta.

SERIALIZABLE

8

Ang mga maruruming pagbabasa, hindi nauulit na pagbabasa at mga phantom na pagbasa ay pinipigilan.

Bilang karagdagan sa mga hadlang ng nakaraang antas, tinitiyak din nito na ang hanay ng mga talaan na tumutugma sa a SAAN sugnay ay nananatiling hindi nagbabago sa loob ng parehong transaksyon.


tip

Basahin ang pahina ng Wikipedia sa Paghihiwalay sa mga Sistema ng Database para matuto pa tungkol sa integridad ng transaksyon.


Panawagan sa serbisyo

Bago gamitin ang Database serbisyo ang ScriptForge kailangang i-load o i-import ang library:

note

• Ang mga pangunahing macro ay kailangang mag-load ScriptForge aklatan gamit ang sumusunod na pahayag:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Ang mga script ng Python ay nangangailangan ng pag-import mula sa scriptforge module:
mula sa scriptforge import CreateScriptService


Syntax:

Upang lumikha ng isang halimbawa ng Database serbisyong magagamit mo ang CreateScriptService paraan:

CreateScriptService("SFDatabases.Database", [filename: str], [registrationname], [readonly], [user, [password]]): svc

note

Sa syntax na inilarawan sa itaas maaari mong gamitin ang alinman sa "SFDatabases.Database" o simpleng "Database" bilang unang argumento ng CreateScriptService paraan.


Mga Parameter:

filename : Ang pangalan ng Base file. Dapat ipahayag gamit ang SF_FileSystem.FileNaming notasyon.

pangalan ng pagpaparehistro : Ang pangalan ng isang nakarehistrong database. Kung filename ay ibinigay, ang argumentong ito ay hindi dapat gamitin.

Sa kabaligtaran, kung a pangalan ng pagpaparehistro ay tinukoy, ang filename hindi dapat tukuyin ang parameter.

readonly : Tinutukoy kung ang database ay bubuksan bilang readonly (Default = totoo ).

user, password : Karagdagang mga parameter ng koneksyon sa server ng database.

Halimbawa:

Sa Basic

      GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
      Dim myDatabase as Object
      Set myDatabase = CreateScriptService("Database", "/home/user/Documents/myDB.odb")
      ' Magpatakbo ng mga query, SQL statement, ...
      myDatabase.CloseDatabase()
    
Sa Python

      from scriptforge import CreateScriptService
      myDatabase = CreateScriptService("Database", "/home/user/Documents/myDB.odb")
      # Magpatakbo ng mga query, SQL statement, ...
      myDatabase.CloseDatabase()
    

Pag-access sa Mga Database gamit ang Serbisyo ng UI

Posible ring ma-access ang database na nauugnay sa isang Base na dokumento gamit ang ScriptForge.UI serbisyo, tulad ng ipinapakita sa mga halimbawa sa ibaba:

Sa Basic

      Dim myDoc As Object, myDatabase As Object, ui As Object
      Set ui = CreateScriptService("UI")
      Set myDoc = ui.OpenBaseDocument("/home/user/Documents/myDB.odb")
      ' Ang user at password ay ibinibigay sa ibaba, kung kinakailangan
      Set myDatabase = myDoc.GetDatabase()
      ' Magpatakbo ng mga query, SQL statement, ...
      myDatabase.CloseDatabase()
      myDoc.CloseDocument()
    
Sa Python

      ui = CreateScriptService("UI")
      doc = ui.OpenBaseDocument("/home/user/Documents/myDB.odb")
      # User at password ay ibinibigay sa ibaba, kung kinakailangan
      myDatabase = doc.GetDatabase()
      # Magpatakbo ng mga query, SQL statement, ...
      myDatabase.CloseDatabase()
      doc.CloseDocument()
    
tip

Ang GetDatabase paraan na ginamit sa halimbawa sa itaas ay bahagi ng ScriptForge's Base serbisyo.


Mga Katangian

Pangalan

Readonly

Type

Mga nilalaman

Queries

Mayroon

Array ng mga string

Ang listahan ng mga nakaimbak na query.

Tables

Mayroon

Array ng mga string

Ang listahan ng mga nakaimbak na talahanayan.

XConnection

Mayroon

XConnection

Ang UNO object na kumakatawan sa kasalukuyang koneksyon sa database.

XMetaData

Mayroon

XDatabaseMetaData

Ang UNO object na kumakatawan sa metadata na naglalarawan sa mga katangian ng database system.


Listahan ng Mga Paraan sa Serbisyo ng Database

CloseDatabase
Commit
CreateDataset
DAvg
DCount
DMin

DMax
DSum
DLookup
GetRows
OpenFormDocument
OpenQuery

OpenSql
OpenTable
Rollback
RunSql
SetTransactionMode


CloseDatabase

Isinasara ang kasalukuyang koneksyon sa database.

Syntax:

db.CloseDatabase()

Halimbawa:


    myDatabase.CloseDatabase() ' Basic
  

    myDatabase.CloseDatabase() # Python
  

Commit

Ipinangako ang lahat ng mga pag-update na ginawa mula noong nakaraan Mangako o Rollback tawag.

note

Ang pamamaraang ito ay hindi papansinin kung ang mga commit ay awtomatikong ginagawa pagkatapos ng bawat SQL statement, ibig sabihin, ang database ay nakatakda sa default na auto-commit mode.


Syntax:

db.Commit()

Halimbawa:

Sa Basic

      ' Itakda ang REPEATABLE_READ na antas ng transaksyon
      myDB.SetTransactionMode(4)
      myDB.RunSql("UPDATE ...")
      myDB.Commit()
      myDB.RunSql("DELETE ...")
      ' Subukan ang ilang kundisyon bago gumawa
      If bSomeCondition Then
          myDB.Commit()
      Else
          myDB.Rollback()
      End If
      ' Ibalik ang auto-commit mode
      myDB.SetTransactionMode()
    
Sa Python

      myDB.SetTransactionMode(4)
      myDB.RunSql("UPDATE ...")
      myDB.Commit()
      myDB.RunSql("DELETE ...")
      if some_condition:
          myDB.Commit()
      else:
          myDB.Rollback()
      myDB.SetTransactionMode()
    

CreateDataset

Lumilikha ng a Dataset instance ng serbisyo batay sa isang talahanayan, query o SQL PUMILI pahayag.

Syntax:

db.CreateDataset(sqlcommand: str, opt directsql: bool, opt filter: str, opt orderby: str): svc

Mga Parameter:

sqlcommand : Isang pangalan ng talahanayan, isang pangalan ng query o isang wastong SQL PUMILI pahayag. Ang mga pagkakakilanlan ay maaaring kalakip ng mga square bracket. Ang argumentong ito ay case-sensitive.

directsql : Itakda ang argumentong ito sa totoo upang direktang ipadala ang pahayag sa database engine nang hindi pinoproseso ng LibreOffice (Default = Mali ).

salain : Tinutukoy ang kundisyon na dapat tumugma ang mga tala upang maisama sa ibinalik na dataset. Ang argumentong ito ay ipinahayag bilang isang SQL SAAN statement na walang "WHERE" keyword.

orderby : Tinutukoy ang pagkakasunud-sunod ng dataset bilang isang SQL ORDER NI statement na walang keyword na "ORDER BY".

Halimbawa:

Ang mga sumusunod na halimbawa sa Basic at Python ay nagbabalik ng isang dataset na may mga talaan ng isang talahanayan na pinangalanang "Mga Customer".

Sa Basic

      oDataset = myDatabase.CreateDataset("Mga Customer", Filter := "[Pangalan] KATULAD ng 'A'")
    
Sa Python

      dataset = myDatabase.CreateDataset("Mga Customer", Filter = "[Pangalan] KATULAD ng 'A'")
    

DAvg, DCount, DMin, DMax, DSum

Kinakalkula ang ibinigay na pinagsama-samang function sa isang field o expression na kabilang sa isang talahanayan.

Opsyonal, isang SQL SAAN Maaaring tukuyin ang sugnay bilang isang filter na ilalapat bago ang pinagsama-samang function.

Syntax:

db.DAvg(expression: str, tablename: str, [criteria: str]): any

db.DCount(expression: str, tablename: str, [criteria: str]): any

db.DMin(expression: str, tablename: str, [criteria: str]): any

db.DMax(expression: str, tablename: str, [criteria: str]): any

db.DSum(expression: str, tablename: str, [criteria: str]): any

Mga Parameter:

pagpapahayag : Isang SQL expression kung saan ang mga pangalan ng field ay napapalibutan ng mga square bracket.

tablename : Isang pangalan ng talahanayan (walang mga square bracket).

pamantayan : A SAAN sugnay na walang "WHERE" na keyword, kung saan ang mga pangalan ng field ay napapalibutan ng mga square bracket.

Halimbawa:

Ipinapalagay ng halimbawa sa ibaba ang file Mga empleyado.odb may table na pinangalanan EmployeeData .

Sa Basic

      GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
      Dim myDB as Variant
      Set myDB = CreateScriptService("Database", "/home/user/Databases/Employees.odb")
      ' Binibilang ang bilang ng mga empleyado sa talahanayan
      MsgBox myDB.DCount("[ID]", "EmployeeData")
      ' Ibinabalik ang kabuuan ng lahat ng suweldo sa talahanayan
      MsgBox myDB.DSum("[Salary]", "EmployeeData")
      ' Nasa ibaba ang ilang mga halimbawa kung paano ma-filter ang mga talahanayan
      MsgBox myDB.DCount("[ID]", "EmployeeData", "[Position] = 'Manager'")
      MsgBox myDB.DCount("[ID]", "EmployeeData", "[Position] = 'Sales' AND [City] = 'Chicago'")
      MsgBox myDB.DCount("[ID]", "EmployeeData", "[FirstName] LIKE 'Paul%'")
    
Sa Python

      myDB = CreateScriptService("Database", "/home/user/Databases/Employees.odb")
      bas = CreateScriptService("Basic")
      bas.MsgBox(myDB.DCount("[ID]", "EmployeeData"))
      bas.MsgBox(myDB.DSum("[Salary]", "EmployeeData"))
      bas.MsgBox(myDB.DCount("[ID]", "EmployeeData", "[Position] = 'Manager'"))
      bas.MsgBox(myDB.DCount("[ID]", "EmployeeData", "[Position] = 'Sales' AND [City] = 'Chicago'"))
      bas.MsgBox(myDB.DCount("[ID]", "EmployeeData", "[FirstName] LIKE 'Paul%'"))
    

DLookup

Kinuwenta ang isang SQL expression sa isang tala na ibinalik ng a SAAN sugnay na tinukoy ng Pamantayan parameter.

Kung ang query ay nagbabalik ng maraming tala, ang una lang ang isasaalang-alang. Gamitin ang OrderClause parameter upang matukoy kung paano pinagbukud-bukod ang mga resulta ng query.

Syntax:

db.DLookup(expression: str, tablename: str, [criteria:str], [orderclause: str]): any

Mga Parameter:

pagpapahayag : Isang SQL expression kung saan ang mga pangalan ng field ay napapalibutan ng mga square bracket.

tablename : Isang pangalan ng talahanayan (walang mga square bracket).

pamantayan : A SAAN sugnay na walang "WHERE" na keyword, kung saan ang mga pangalan ng field ay napapalibutan ng mga square bracket.

orderclause : Isang ORDER NI sugnay na walang mga keyword na "ORDER BY". Ang mga pangalan ng field ay dapat na napapalibutan ng mga square bracket.

Halimbawa:

Sa Basic

      MsgBox myDB.DLookup("[FirstName]", "EmployeeData", Criteria := "[LastName] LIKE 'Smith'", OrderClause := "[FirstName] DESC")
      MsgBox myDB.DLookup("[Salary]", "EmployeeData", Criteria := "[ID] = '3'")
      MsgBox myDB.DLookup("[Quantity] * [Value]", "Sales", Criteria := "[SaleID] = '5014'")
    
Sa Python

      bas = CreateScriptService("Basic")
      bas.MsgBox(myDB.DLookup("[FirstName]", "EmployeeData", criteria = "[LastName] LIKE 'Smith'", orderclause = "[FirstName] DESC"))
      bas.MsgBox(myDB.DLookup("[Salary]", "EmployeeData", criteria = "[ID] = '3'"))
      bas.MsgBox(myDB.DLookup("[Quantity] * [Value]", "Sales", criteria = "[SaleID] = '5014'"))
    

GetRows

Iniimbak ang mga nilalaman ng isang talahanayan o ang mga resulta ng a PUMILI query o ng isang SQL statement sa isang two-dimensional array. Ang unang index sa array ay tumutugma sa mga row at ang pangalawang index ay tumutukoy sa mga column.

Maaaring tukuyin ang pinakamataas na limitasyon sa bilang ng mga ibinalik na row. Opsyonal, maaaring ilagay ang mga pangalan ng column sa unang hilera ng array.

Ang ibinalik na array ay walang laman kung walang mga row na ibinalik at ang mga header ng column ay hindi kinakailangan.

Syntax:

db.GetRows(sqlcommand: str, directsql: bool = False, header: bool = False, maxrows: int = 0): any

Mga Parameter:

sqlcommand : Isang talahanayan o pangalan ng query (walang mga square bracket) o a PUMILI SQL na pahayag.

directsql : Kailan totoo , ang SQL command ay ipinadala sa database engine nang walang pre-analysis. Default ay Mali . Ang argumentong ito ay hindi pinapansin para sa mga talahanayan. Para sa mga query, ang inilapat na opsyon ay ang itinakda noong tinukoy ang query.

header : Kailan totoo , ang unang row ng ibinalik na array ay naglalaman ng mga header ng column.

maxrows : Ang maximum na bilang ng mga row na ibabalik. Ang default ay zero, ibig sabihin ay walang limitasyon sa bilang ng mga ibinalik na row.

Halimbawa:

Nasa ibaba ang ilang halimbawa kung paano ang GetRows maaaring gamitin ang pamamaraan:

Sa Basic

      Dim queryResults as Variant
      ' Ibinabalik ang lahat ng mga hilera sa talahanayan na may mga header ng hanay
      queryResults = myDB.GetRows("EmployeeData", Header := True)
      ' Ibinabalik ang unang 50 talaan ng empleyado na na-order ng field na 'FirstName'
      queryResults = myDB.GetRows("SELECT * FROM EmployeeData ORDER BY [FirstName]", MaxRows := 50)
    
Sa Python

      queryResults = myDB.GetRows("EmployeeData", header = True)
      queryResults = myDB.GetRows("SELECT * FROM EmployeeData ORDER BY [FirstName]", maxrows = 50)
    

OpenFormDocument

Binubuksan ang tinukoy na dokumento ng form sa normal na mode. Ang pamamaraang ito ay nagbabalik ng a FormDocument halimbawa ng serbisyo na naaayon sa tinukoy na dokumento ng form.

Kung ang dokumento ng form ay bukas na, ang window ng dokumento ng form ay isinaaktibo.

Kung ang tinukoy na dokumento ng form ay hindi umiiral, kung gayon wala ay ibinalik.

Syntax:

svc.OpenFormDocument(formdocument: str): svc

Mga Parameter:

formdocument: Ang pangalan ng FormDocument na bubuksan, bilang isang case-sensitive na string.

Halimbawa:

Sa Basic

Karamihan sa mga form na dokumento ay naka-imbak sa ugat ng Base na dokumento at mabubuksan ang mga ito gamit ang kanilang mga pangalan, tulad ng sa halimbawa sa ibaba:


    Dim oFormDoc As Object
    oFormDoc = myDB.OpenFormDocument("myFormDocument")
  

Kung ang mga dokumento ng form ay nakaayos sa mga folder, kinakailangan na isama ang pangalan ng folder upang tukuyin ang dokumento ng form na bubuksan, gaya ng inilalarawan sa sumusunod na halimbawa:


    oFormDoc = myDB.OpenFormDocument("myFolder/myFormDocument")
  
Sa Python

    formDoc = myDB.OpenFormDocument("myFormDocument")
  

    formDoc = myDB.OpenFormDocument("myFolder/myFormDocument")
  

OpenQuery

Binubuksan ang window ng Data View ng tinukoy na query at nagbabalik ng isang instance ng Datasheet serbisyo.

Kung hindi mabuksan ang query, kung gayon wala ay ibinalik.

Syntax:

db.OpenQuery(queryname: str): obj

Mga Parameter:

queryname : Ang pangalan ng isang umiiral na query bilang isang case-sensitive na String.

Halimbawa:

Sa Basic

      myDatabase.OpenQuery("MyQuery")
    
Sa Python

      myDatabase.OpenQuery("MyQuery")
    

OpenSql

Nagpapatakbo ng SQL PUMILI command, nagbubukas ng window ng Data View na may mga resulta at nagbabalik ng isang instance ng Datasheet serbisyo.

Syntax:

db.OpenSql(sql: str, directsql: bool): obj

Mga Parameter:

sql : Isang string na naglalaman ng wastong SQL SELECT statement. Ang mga identifier ay maaaring ilakip ng mga square bracket.

directsql : Kailan totoo , ang SQL command ay ipinadala sa database engine nang walang pre-analysis (Default = Mali ).

Halimbawa:

Sa Basic

      myDatabase.OpenSql("SELECT * FROM [Customers] ORDER BY [CITY]")
    
Sa Python

      myDatabase.OpenSql("SELECT * FROM [Customers] ORDER BY [CITY]")
    

OpenTable

Binubuksan ang window ng Data View ng tinukoy na talahanayan at nagbabalik ng isang instance ng Datasheet serbisyo.

Syntax:

db.OpenTable(tablename: str): obj

Mga Parameter:

tablename : Ang pangalan ng isang umiiral na talahanayan bilang isang case-sensitive na String.

Halimbawa:

Sa Basic

      myDatabase.OpenTable("MyTable")
    
Sa Python

      myDatabase.OpenTable("MyTable")
    

Rollback

Kinakansela ang lahat ng mga pagbabagong ginawa sa database mula noong huli Mangako o Rollback tawag.

Syntax:

db.Rollback()

Halimbawa:

Sa Basic

      myDB.SetTransactionMode(1)
      myDB.RunSql("UPDATE ...")
      ' ...
      If bSomeCondition Then
          myDB.Rollback()
      End If
    
Sa Python

      myDB.SetTransactionMode(1)
      myDB.RunSql("UPDATE ...")
      # ...
      if bSomeCondition:
          myDB.Rollback()
    

RunSql

Nagsasagawa ng isang query ng aksyon ng isang SQL statement tulad ng paggawa ng isang talahanayan, pati na rin ang pagpasok, pag-update at pagtanggal ng mga tala.

Ang pamamaraan ay nagbabalik totoo kapag matagumpay.

tip

Ang RunSql ang pamamaraan ay tinanggihan na may mensahe ng error kung sakaling ang database ay nabuksan dati sa read-only na mode.


Syntax:

db.RunSql(sqlcommand: str, directsql: bool = False): bool

Mga Parameter:

sqlcommand : Isang pangalan ng query (walang mga square bracket) o isang SQL statement.

directsql : Kailan totoo , ang SQL command ay ipinadala sa database engine nang walang pre-analysis. (Default = Mali ). Para sa mga query, ang inilapat na opsyon ay ang itinakda noong tinukoy ang query.

Halimbawa:

Sa Basic

      myDatabase.RunSql("INSERT INTO [EmployeeData] VALUES(25, 'Smith', 'John')", DirectSQL := True)
    
Sa Python

      myDatabase.RunSql("INSERT INTO [EmployeeData] VALUES(25, 'Smith', 'John')", directsql = True)
    

SetTransactionMode

Tinutukoy ang antas ng paghihiwalay sa mga transaksyon sa database.

Bilang default, pinamamahalaan ng mga database ang mga transaksyon sa auto-commit mode, na nangangahulugang a Mangako ay awtomatikong ginagawa pagkatapos ng bawat SQL statement.

Gamitin ang paraang ito upang manu-manong matukoy ang antas ng paghihiwalay ng mga transaksyon. Kapag ang isang transaction mode maliban sa WALA ay nakatakda, kailangang tahasang tawagan ng script ang Mangako paraan upang ilapat ang mga pagbabago sa database.

Nagbabalik ang pamamaraang ito totoo kapag matagumpay.

warning

Ang pagpapalit ng transaction mode ay magsasara ng lahat Dataset mga pagkakataong nilikha mula sa kasalukuyang database.


Syntax:

db.SetTransactionMode(transactionmode: int = 0): bool

Mga Parameter:

transactionmode : Tinutukoy ang mode ng transaksyon. Ang argumentong ito ay dapat isa sa mga constant na tinukoy sa com.sun.star.sdbc.TransactionIsolation (Default = WALA )

note

Basahin ang seksyon Paghawak ng transaksyon sa itaas upang matuto nang higit pa tungkol sa mga antas ng paghihiwalay ng transaksyon na ginagamit sa LibreOffice.


Halimbawa:

Sa Basic

      myDB.SetTransactionMode(com.sun.star.sdbc.TransactionIsolation.REPEATABLE_READ)
      oDataset = myDB.CreateDataset("SELECT ...")
      ' ...
      ' I-reset ang transaction mode sa default
      myDB.SetTransactionMode()
    
Sa Python

      from com.sun.star.sdbc import TransactionIsolation
      myDB.SetTransactionMode(TransactionIsolation.REPEATABLE_READ)
      dataset = myDB.CreateDataset("SELECT ...")
      # ...
      myDB.SetTransactionMode()
    
warning

Lahat ScriptForge Ang mga pangunahing gawain o identifier na may prefix na may underscore na character na "_" ay nakalaan para sa panloob na paggamit. Ang mga ito ay hindi nilalayong gamitin sa Basic macros o Python script.


Mangyaring suportahan kami!