ບໍລິການ SFDatabases.Dataset

ບໍລິການ Dataset ຖືກໃຊ້ເພື່ອສະແດງຂໍ້ມູນຕາຕະລາງທີ່ສ້າງຂຶ້ນໂດຍຖານຂໍ້ມູນ. ດ້ວຍບໍລິການນີ້ ມັນເປັນໄປໄດ້ທີ່ຈະ:

ໄອຄອນ ຄຳເຕືອນ

ການອັບເດດ ແລະ ການແຊກຂໍ້ມູນໂດຍໃຊ້ບໍລິການ Dataset ແມ່ນຊ້າກວ່າການໃຊ້ຄຳສັ່ງ SQL. ເມື່ອມີການອັບເດດ ຫຼື ແຊກຂໍ້ມູນຈຳນວນຫຼາຍ, ຂໍແນະນຳໃຫ້ໃຊ້ຄຳສັ່ງ SQL ແທນການໃຊ້ວິທີການໃນບໍລິການນີ້.


ການເອີ້ນໃຊ້ບໍລິການ

ກ່ອນທີ່ຈະໃຊ້ບໍລິການ Dataset, ຫ້ອງສະໝຸດ ScriptForge ຕ້ອງຖືກໂຫຼດ ຫຼື ນຳເຂົ້າກ່ອນ:

ໄອຄອນ ບັນທຶກ

• ມາໂຄຣ Basic ຕ້ອງມີການໂຫຼດຄັງສຳນວນ ScriptForge ໂດຍໃຊ້ຄຳສັ່ງດັ່ງນີ້:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• ສະຄຣິບ Python ຕ້ອງມີການນຳເຂົ້າຈາກໂມດູນ scriptforge:
from scriptforge import CreateScriptService


ບໍລິການ Dataset ຖືກເອີ້ນໃຊ້ໂດຍວິທີການ CreateDataset, ເຊິ່ງສາມາດເອີ້ນໃຊ້ໄດ້ຈາກອິນສະແຕນຂອງບໍລິການ Database ຫຼື ຈາກອິນສະແຕນ Dataset ອື່ນ.

ໃນ Basic

ຕົວຢ່າງຕໍ່ໄປນີ້ສ້າງ Dataset ຈາກຕາຕະລາງ "Customers" ທີ່ເກັບໄວ້ໃນໄຟລ໌ຖານຂໍ້ມູນ.


    oDatabase = CreateScriptService("Database", "C:\MyDatabase.odb")
    oDataset = oDatabase.CreateDataset("Customers")
    With oDataset
        Do While .MoveNext()
            oValues = .Values()
            ' ...
        Loop
        .CloseDataset()
    End With
  
ໄອຄອນ ບັນທຶກ

ເມື່ອສ້າງ Dataset ແລ້ວ, ຕຳແໜ່ງຂໍ້ມູນປັດຈຸບັນຈະຢູ່ກ່ອນຂໍ້ມູນແຖວທຳອິດ.


ຕົວຢ່າງຂ້າງລຸ່ມນີ້ສ້າງອິນສະແຕນ Dataset ໂດຍການກັ່ນຕອງຈາກຊຸດຂໍ້ມູນເດີມ.


    oNewDataset = oDataset.CreateDataset(Filter := "[City]='New York'")
  
ໃນ Python

    database = CreateScriptService("Database", r"C:\MyDatabase.odb")
    dataset = database.CreateDataset("Customers")
    while dataset.MoveNext():
        values = dataset.Values
        # ...
    dataset.CloseDataset()
  

    new_dataset = dataset.CreateDataset(filter = "[City]='New York'")
  

ຄຸນສົມບັດ

ຊື່

ອ່ານຢ່າງດຽວ

ປະເພດ

ຄຳອະທິບາຍ

BOF

ບໍ່

Boolean

ສົ່ງຄືນຄ່າ True ຫາກຕຳແໜ່ງຂໍ້ມູນປັດຈຸບັນຢູ່ກ່ອນຂໍ້ມູນແຖວທຳອິດໃນຊຸດຂໍ້ມູນ, ຖ້າບໍ່ດັ່ງນັ້ນຈະສົ່ງຄືນຄ່າ False.

ຕັ້ງຄຸນສົມບັດນີ້ເປັນ True ເພື່ອຍ້າຍເຄີເຊີໄປຫາຈຸດເລີ່ມຕົ້ນຂອງຊຸດຂໍ້ມູນ. ການຕັ້ງຄຸນສົມບັດນີ້ເປັນ False ຈະຖືກລະເວັ້ນ.

DefaultValues

ແມ່ນ

ບໍລິການ Dictionary

ສົ່ງຄືນ Dictionary ພ້ອມກັບຄ່າເລີ່ມຕົ້ນທີ່ໃຊ້ສຳລັບແຕ່ລະຟິວໃນຊຸດຂໍ້ມູນ. ຟິວ ຫຼື ຖັນໃນຊຸດຂໍ້ມູນຈະເປັນຄີ (keys) ໃນດິກຊັນນາຣີ.

ປະເພດຟິວຂອງຖານຂໍ້ມູນຈະຖືກແປງເປັນປະເພດຂໍ້ມູນ Basic/Python ທີ່ກົງກັນ. ເມື່ອປະເພດຟິວບໍ່ໄດ້ຖືກກຳນົດ, ຄ່າເລີ່ມຕົ້ນຈະເປັນ Null ຫາກຟິວນັ້ນສາມາດຫວ່າງໄດ້ ຫຼື Empty.

EOF

ບໍ່

Boolean

ສົ່ງຄືນຄ່າ True ຫາກຕຳແໜ່ງຂໍ້ມູນປັດຈຸບັນຢູ່ຫຼັງຂໍ້ມູນແຖວສຸດທ້າຍໃນຊຸດຂໍ້ມູນ, ຖ້າບໍ່ດັ່ງນັ້ນຈະສົ່ງຄືນຄ່າ False.

ຕັ້ງຄຸນສົມບັດນີ້ເປັນ True ເພື່ອຍ້າຍເຄີເຊີໄປຫາຈຸດສິ້ນສຸດຂອງຊຸດຂໍ້ມູນ. ການຕັ້ງຄຸນສົມບັດນີ້ເປັນ False ຈະຖືກລະເວັ້ນ.

Fields

ແມ່ນ

Array

ສົ່ງຄືນ Array ທີ່ປະກອບດ້ວຍຊື່ຂອງທຸກຟິວໃນຊຸດຂໍ້ມູນ.

Filter

ແມ່ນ

String

ສົ່ງຄືນການກັ່ນຕອງທີ່ຖືກປັບໃຊ້ເພີ່ມເຕີມຈາກຂໍ້ຄວາມ WHERE ໃນຄຳສັ່ງ SQL ເບື້ອງຕົ້ນ. ຄຸນສົມບັດນີ້ຈະສະແດງໃນຮູບແບບຂໍ້ຄວາມ WHERE ໂດຍບໍ່ມີຄຳສຳຄັນ "WHERE".

OrderBy

ແມ່ນ

String

ສົ່ງຄືນຂໍ້ຄວາມການຈັດລຽງທີ່ຈະມາແທນທີ່ຂໍ້ຄວາມ ORDER BY ທີ່ມີຢູ່ໃນຄຳສັ່ງ SQL ເບື້ອງຕົ້ນ. ຄຸນສົມບັດນີ້ຈະສະແດງໃນຮູບແບບຂໍ້ຄວາມ ORDER BY ໂດຍບໍ່ມີຄຳສຳຄັນ "ORDER BY".

ParentDatabase

ແມ່ນ

ບໍລິການ Database

ສົ່ງຄືນອິນສະແຕນ Database ທີ່ກົງກັບຖານຂໍ້ມູນແມ່ຂອງຊຸດຂໍ້ມູນປັດຈຸບັນ.

RowCount

ແມ່ນ

Long

ສົ່ງຄືນຈຳນວນແຖວຂໍ້ມູນທີ່ແນ່ນອນໃນຊຸດຂໍ້ມູນ.

ໝາຍເຫດ: ການປະເມີນຄຸນສົມບັດນີ້ໝາຍເຖິງການໄລ່ເບິ່ງທັງໝົດຊຸດຂໍ້ມູນ, ເຊິ່ງອາດຈະໃຊ້ເວລາຫຼາຍຂຶ້ນກັບຂະໜາດຂອງຊຸດຂໍ້ມູນ.

RowNumber

ແມ່ນ

Long

ສົ່ງຄືນລຳດັບຂອງຂໍ້ມູນປັດຈຸບັນໂດຍເລີ່ມຈາກ 1. ສົ່ງຄືນ 0 ຫາກບໍ່ຮູ້ຄຸນສົມບັດນີ້.

Source

ແມ່ນ

String

ສົ່ງຄືນຕົ້ນທາງຂອງຊຸດຂໍ້ມູນ. ມັນສາມາດເປັນໄດ້ທັງຊື່ຕາຕະລາງ, ຊື່ຄຳສັ່ງສອບຖາມ ຫຼື ຄຳສັ່ງ SQL.

SourceType

ແມ່ນ

String

ສົ່ງຄືນແຫຼ່ງທີ່ມາຂອງຊຸດຂໍ້ມູນ. ມັນສາມາດເປັນຄ່າສະຕຣິງໃດໜຶ່ງດັ່ງນີ້: TABLE, QUERY ຫຼື SQL.

UpdatableFields

ແມ່ນ

Array

ສົ່ງຄືນ Array ທີ່ບັນຈຸຊື່ຂອງຟິວໃນຊຸດຂໍ້ມູນທີ່ສາມາດອັບເດດໄດ້.

Values

ແມ່ນ

Array

ສົ່ງຄືນ Dictionary ທີ່ບັນຈຸຄູ່ຂອງ (ຊື່ຟິວ: ຄ່າ) ຂອງຂໍ້ມູນປັດຈຸບັນໃນຊຸດຂໍ້ມູນ.

XRowSet

ແມ່ນ

ອັອບເຈັກ UNO

ສົ່ງຄືນອັອບເຈັກ UNO com.sun.star.sdb.RowSet ທີ່ສະແດງເຖິງຊຸດຂໍ້ມູນ.


ລາຍຊື່ວິທີການໃນບໍລິການ Dataset

CloseDataset
CreateDataset
Delete
ExportValueToFile
GetRows

GetValue
Insert
MoveFirst
MoveLast

MoveNext
MovePrevious
Reload
Update


CloseDataset

ປິດຊຸດຂໍ້ມູນປັດຈຸບັນ. ວິທີນີ້ຈະສົ່ງຄືນຄ່າ True ເມື່ອສຳເລັດ.

ໄອຄອນ ບັນທຶກ

ແນະນຳໃຫ້ປິດຊຸດຂໍ້ມູນຫຼັງຈາກການນຳໃຊ້ ເພື່ອຄືນຊັບພະຍາກອນໃຫ້ລະບົບ.


ໄວຍາກອນ:

svc.CloseDataset(): bool

ຕົວຢ່າງ:

ໃນ Basic

      oDataset = oDatabase.CreateDataset("MyTable")
      ' ...
      oDataset.CloseDataset()
    
ໃນ Python

      dataset = database.CreateDataset("MyTable")
      # ...
      dataset.CloseDataset()
    

CreateDataset

ສົ່ງຄືນອິນສະແຕນຊ໌ບໍລິການ Dataset ຈາກຊຸດຂໍ້ມູນທີ່ມີຢູ່ ໂດຍການນຳໃຊ້ຕົວຕອງທີ່ລະບຸ ແລະ ຄຳສັ່ງ ORDER BY.

ໄວຍາກອນ:

svc.CreateDataset(opt filter: str, opt orderby: str): svc

ພາຣາມິເຕີ:

filter: ລະບຸເງື່ອນໄຂທີ່ລະບຽບຂໍ້ມູນຕ້ອງກົງກັນ ເພື່ອໃຫ້ລວມຢູ່ໃນຊຸດຂໍ້ມູນທີ່ສົ່ງຄືນ. ອາຄິວເມັ້ນນີ້ແມ່ນສະແດງອອກເປັນຄຳສັ່ງ SQL WHERE ໂດຍບໍ່ຕ້ອງມີຄຳຫຼັກ "WHERE". ຖ້າບໍ່ໄດ້ລະບຸອາຄິວເມັ້ນນີ້, ຕົວຕອງທີ່ໃຊ້ໃນຊຸດຂໍ້ມູນປັດຈຸບັນຈະຖືກນຳໃຊ້, ຖ້າບໍ່ດັ່ງນັ້ນ ຕົວຕອງປັດຈຸບັນຈະຖືກແທນທີ່ດ້ວຍອາຄິວເມັ້ນນີ້.

orderby: ລະບຸການຈັດລຽງຂອງຊຸດຂໍ້ມູນເປັນຄຳສັ່ງ SQL ORDER BY ໂດຍບໍ່ຕ້ອງມີຄຳຫຼັກ "ORDER BY". ຖ້າບໍ່ໄດ້ລະບຸອາຄິວເມັ້ນນີ້, ລຳດັບການຈັດລຽງທີ່ໃຊ້ໃນຊຸດຂໍ້ມູນປັດຈຸບັນຈະຖືກນຳໃຊ້, ຖ້າບໍ່ດັ່ງນັ້ນ ລຳດັບການຈັດລຽງປັດຈຸບັນຈະຖືກແທນທີ່ດ້ວຍອາຄິວເມັ້ນນີ້.

ຕົວຢ່າງ:

ໃນ Basic

      ' ໃຊ້ຂໍ້ຄວາມວ່າງ (empty string) ເພື່ອລຶບຕົວຕອງປັດຈຸບັນອອກ
      oNewDataset = oDataset.CreateDataset(Filter := "")
      ' ຕົວຢ່າງຂອງຕົວຕອງທົ່ວໄປ
      oNewDataset = oDataset.CreateDataset(Filter := "[Name] = 'John'")
      oNewDataset = oDataset.CreateDataset(Filter := "[Name] LIKE 'A'")
      ' ສາມາດເພີ່ມເງື່ອນໄຂເພີ່ມເຕີມເຂົ້າໃນຕົວຕອງປັດຈຸບັນໄດ້
      oNewDataset = oDataset.CreateDataset(Filter := "(" & oDataset.Filter & ") AND [Name] LIKE 'A'")
    
ໃນ Python

      new_dataset = dataset.CreateDataset(filter = "")
      new_dataset = dataset.CreateDataset(filter = "[Name] = 'John'")
      new_dataset = dataset.CreateDataset(filter = "[Name] LIKE 'A'")
      new_dataset = dataset.CreateDataset(filter = f"({dataset.Filter}) AND [Name] LIKE 'A'")
    

Delete

ລຶບລະບຽບຂໍ້ມູນປັດຈຸບັນອອກຈາກຊຸດຂໍ້ມູນ. ວິທີນີ້ຈະສົ່ງຄືນຄ່າ True ເມື່ອສຳເລັດ.

ຫຼັງຈາກການປະຕິບັດງານນີ້, ເຄີເຊີ (cursor) ຈະຖືກຍ້າຍໄປທີ່ລະບຽບຂໍ້ມູນຖັດຈາກອັນທີ່ຖືກລຶບ. ຖ້າລະບຽບຂໍ້ມູນທີ່ຖືກລຶບນັ້ນແມ່ນອັນສຸດທ້າຍໃນຊຸດຂໍ້ມູນ, ເຄີເຊີຈະຖືກຍ້າຍໄປໄວ້ຫຼັງຈາກນັ້ນ ແລະ ຄຸນສົມບັດ EOF ຈະສົ່ງຄືນຄ່າ True.

ໄວຍາກອນ:

svc.Delete(): bool

ຕົວຢ່າງ:

ໃນ Basic

      oDataset.Delete()
    
ໃນ Python

      dataset.Delete()
    

ExportValueToFile

ສົ່ງອອກຄ່າຂອງຟີວ (field) ຖານສອງຂອງລະບຽບຂໍ້ມູນປັດຈຸບັນໄປຍັງໄຟລ໌ທີ່ລະບຸ.

ໄອຄອນ ບັນທຶກ

ຖ້າຟີວທີ່ລະບຸບໍ່ແມ່ນຖານສອງ ຫຼື ບໍ່ມີຂໍ້ມູນ, ໄຟລ໌ຜົນລັບຈະບໍ່ຖືກສ້າງຂຶ້ນ.


ໄວຍາກອນ:

svc.ExportValueToFile(fieldname: str, filename: str, overwrite: bool): bool

ພາຣາມິເຕີ:

fieldname: ຊື່ຂອງຟີວຖານສອງທີ່ຈະສົ່ງອອກ, ເປັນຂໍ້ຄວາມທີ່ແຍກຕົວອັກສອນນ້ອຍ-ໃຫຍ່.

filename: ເສັ້ນທາງເຕັມຂອງໄຟລ໌ທີ່ຈະສ້າງຂຶ້ນ ໂດຍໃຊ້ຮູບແບບທີ່ກຳນົດໄວ້ໃນຄຸນສົມບັດ FileSystem.FileNaming.

overwrite: ຕັ້ງອາຄິວເມັ້ນນີ້ເປັນ True ເພື່ອອະນຸຍາດໃຫ້ຂຽນທັບໄຟລ໌ປາຍທາງ (ຄ່າເລີ່ມຕົ້ນ = False).

ຕົວຢ່າງ:

ໃນຕົວຢ່າງລຸ່ມນີ້, ຊຸດຂໍ້ມູນມີຟີວທີ່ຊື່ວ່າ "Picture" ເຊິ່ງຈະຖືກສົ່ງອອກເປັນໄຟລ໌ຮູບພາບ.

ໃນ Basic

      oDataset.ExportValueToFile("Picture", "C:\my_image.png", True)
    
ໃນ Python

      dataset.ExportValueToFile("Picture", r"C:\my_image.png", True)
    

GetRows

ສົ່ງຄືນເນື້ອໃນຂອງຊຸດຂໍ້ມູນໃນຮູບແບບອາເຣ 2 ມິຕິ, ເເລີ່ມຈາກລະບຽບຂໍ້ມູນທຳອິດຖັດຈາກລະບຽບຂໍ້ມູນປັດຈຸບັນ.

ຫຼັງຈາກການປະຕິບັດ, ເຄີເຊີຈະຖືກຍ້າຍໄປທີ່ແຖວທີ່ອ່ານຫຼ້າສຸດ ຫຼື ຫຼັງລະບຽບຂໍ້ມູນສຸດທ້າຍໃນຊຸດຂໍ້ມູນ, ໃນກໍລະນີນັ້ນ ຄຸນສົມບັດ EOF ຈະສົ່ງຄືນຄ່າ True.

ວິທີນີ້ສາມາດໃຊ້ເພື່ອອ່ານຂໍ້ມູນຈາກຊຸດຂໍ້ມູນເປັນຊຸດໆ, ເຊິ່ງຂະໜາດແມ່ນກຳນົດໂດຍອາຄິວເມັ້ນ maxrows.

ໄອຄອນ ບັນທຶກ

ອາເຣທີ່ສົ່ງຄືນຈະມີສອງມິຕິສະເໝີ, ເຖິງແມ່ນວ່າຊຸດຂໍ້ມູນຈະມີພຽງຄໍລຳດຽວ ແລະ ລະບຽບຂໍ້ມູນດຽວກໍຕາມ.


ໄວຍາກອນ:

svc.GetRows(header: bool, maxrows: int): any

ພາຣາມິເຕີ:

header: ຕັ້ງອາຄິວເມັ້ນນີ້ເປັນ True ເພື່ອໃຫ້ລາຍການທຳອິດໃນ Array ເປັນຫົວຄໍລຳ (ຄ່າເລີ່ມຕົ້ນ = False).

maxrows: ກຳນົດຈຳນວນລະບຽບຂໍ້ມູນສູງສຸດທີ່ຈະສົ່ງຄືນ. ຖ້າຈຳນວນລະບຽບຂໍ້ມູນທີ່ມີຢູ່ໜ້ອຍກວ່າ maxrows, ຂະໜາດຂອງອາເຣທີ່ສົ່ງຄືນຈະເທົ່າກັບຈຳນວນລະບຽບຂໍ້ມູນທີ່ເຫຼືອໃນຊຸດຂໍ້ມູນ. ປະອາຄິວເມັ້ນນີ້ໄວ້ວ່າງ ຫຼື ຕັ້ງເປັນສູນ ເພື່ອສົ່ງຄືນທຸກແຖວໃນຊຸດຂໍ້ມູນ (ຄ່າເລີ່ມຕົ້ນ = 0)

ຕົວຢ່າງ:

ຕົວຢ່າງຕໍ່ໄປນີ້ອ່ານຊຸດຂໍ້ມູນເທື່ອລະ 100 ແຖວ ຈົນກວ່າຈະອ່ານຊຸດຂໍ້ມູນທັງໝົດສຳເລັດ.

ໃນ Basic

      Dim arrChunk As Variant, lMaxRows As Long
      lMaxRows = 100
      Do
          arrChunk = oDataset.GetRows(MaxRows := lMaxRows)
          If UBound(arrChunk, 1) >= 0 Then
              ' ...
          End If
      Loop Until UBound(arrChunk, 1) < lMaxRows - 1
    
ໃນ Python

      max_rows = 100
      chunk = dataset.GetRows(maxrows = max_rows)
      while len(chunk) > 0:
          # ...
          chunk = dataset.GetRows(maxrows = max_rows)
    

GetValue

ສົ່ງຄືນຄ່າຂອງຟີວທີ່ລະບຸຈາກລະບຽບຂໍ້ມູນປັດຈຸບັນຂອງຊຸດຂໍ້ມູນ.

ໄອຄອນ ບັນທຶກ

ຖ້າຟີວທີ່ລະບຸເປັນຖານສອງ, ມັນຈະສົ່ງຄືນຄວາມຍາວຂອງມັນ.


ໄວຍາກອນ:

svc.GetValue(fieldname: str): any

ພາຣາມິເຕີ:

fieldname: ຊື່ຂອງຟີວທີ່ຈະສົ່ງຄືນ, ເປັນຂໍ້ຄວາມທີ່ແຍກຕົວອັກສອນນ້ອຍ-ໃຫຍ່.

ຕົວຢ່າງ:

ໃນ Basic

      currId = oDataset.GetValue(FieldName := "ID")
    
ໃນ Python

      curr_id = dataset.GetValue(fieldname = "ID")
    

Insert

ແຊກລະບຽບຂໍ້ມູນໃໝ່ໃສ່ທ້າຍຊຸດຂໍ້ມູນ ແລະ ຕັ້ງຄ່າເລີ່ມຕົ້ນໃຫ້ຟີວຕ່າງໆດ້ວຍຄ່າທີ່ລະບຸ.

ຖ້າຄີຫຼັກ (primary key) ຂອງຊຸດຂໍ້ມູນເປັນຄ່າອັດຕະໂນມັດ, ວິທີນີ້ຈະສົ່ງຄືນຄ່າຄີຫຼັກຂອງລະບຽບຂໍ້ມູນໃໝ່. ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນຈະສົ່ງຄືນ 0 (ເມື່ອສຳເລັດ) ຫຼື -1 (ເມື່ອບໍ່ສຳເລັດ).

ໄອຄອນ ບັນທຶກ

ຟີວທີ່ສາມາດອັບເດດໄດ້ໂດຍບໍ່ມີການລະບຸຄ່າ ຈະຖືກຕັ້ງເປັນຄ່າເລີ່ມຕົ້ນຂອງພວກມັນ.


ໄອຄອນ ບັນທຶກ

ຖ້າຟີວທີ່ລະບຸເປັນຖານສອງ, ມັນຈະສົ່ງຄືນຄວາມຍາວຂອງມັນ.


ໄວຍາກອນ:

svc.Insert(pvargs: any): int

ພາຣາມິເຕີ:

pvargs: Dictionary ທີ່ບັນຈຸຄູ່ຂອງຊື່ຟີວ ແລະ ຄ່າຂອງພວກມັນ. ຫຼື ສາມາດລະບຸອາຄິວເມັ້ນເປັນຈຳນວນຄູ່ ໂດຍສະຫຼັບກັນລະຫວ່າງຊື່ຟີວ (ເປັນ String) ແລະ ຄ່າຂອງພວກມັນ.

ຕົວຢ່າງ:

ໃນ Basic

ສົມມຸດວ່າມີຕາຕະລາງຊື່ "Customers" ທີ່ມີ 4 ຟີວ: "ID" (BigInt, ຄ່າອັດຕະໂນມັດ ແລະ ຄີຫຼັກ), "Name" (VarChar), "Age" (Integer), "City" (VarChar).

ຕົວຢ່າງລຸ່ມນີ້ແຊກລະບຽບຂໍ້ມູນໃໝ່ໃສ່ຊຸດຂໍ້ມູນນີ້ໂດຍໃຊ້ Dictionary.


      oDataset = oDatabase.CreateDataset("Customers")
      oNewData = CreateScriptService("Dictionary")
      oNewData.Add("Name", "John")
      oNewData.Add("Age", 50)
      oNewData.Add("City", "Chicago")
      lNewID = oDataset.Insert(oNewData)
    

ຜົນລັບດຽວກັນສາມາດເຮັດໄດ້ໂດຍການສົ່ງຄູ່ຂອງຟີວ ແລະ ຄ່າທັງໝົດເປັນອາຄິວເມັ້ນ:


      oDataset.Insert("Name", "John", "Age", 50, "City", "Chicago")
    
ໃນ Python

      dataset = database.CreateDataset("Customers")
      new_data = {"Name": "John", "Age": 30, "City": "Chicago"}
      new_id = dataset.Insert(new_data)
    

ການເອີ້ນໃຊ້ຕໍ່ໄປນີ້ແມ່ນຮອງຮັບໃນ Python:


      dataset.Insert("Name", "John", "Age", 50, "City", "Chicago")
      dataset.Insert(Name = "John", Age = 50, City = "Chicago")
    

MoveFirst / MoveLast

ຍ້າຍເຄີເຊີຂອງຊຸດຂໍ້ມູນໄປທີ່ລະບຽບຂໍ້ມູນທຳອິດ (ດ້ວຍ MoveFirst) ຫຼື ໄປທີ່ລະບຽບຂໍ້ມູນສຸດທ້າຍ (ດ້ວຍ MoveLast).

ວິທີການນີ້ສົ່ງຄືນ True ເມື່ອສຳເລັດ.

ໄອຄອນ ບັນທຶກ

ລະບຽບຂໍ້ມູນທີ່ຖືກລຶບຈະຖືກລະເລີຍໂດຍວິທີນີ້.


ໄວຍາກອນ:

svc.MoveFirst(): bool

svc.MoveLast(): bool

ຕົວຢ່າງ:

ໃນ Basic

      oDataset.MoveFirst()
    
ໃນ Python

      dataset.MoveFirst()
    

MoveNext / MovePrevious

ຍ້າຍເຄີເຊີຂອງຊຸດຂໍ້ມູນໄປຂ້າງໜ້າ (ດ້ວຍ MoveNext) ຫຼື ຖອຍຫຼັງ (ດ້ວຍ MovePrevious) ຕາມຈຳນວນລະບຽບຂໍ້ມູນທີ່ກຳນົດ.

ວິທີນີ້ຈະສົ່ງຄືນຄ່າ True ເມື່ອສຳເລັດ.

ໄອຄອນ ບັນທຶກ

ລະບຽບຂໍ້ມູນທີ່ຖືກລຶບຈະຖືກລະເລີຍໂດຍວິທີນີ້.


ໄວຍາກອນ:

svc.MoveNext(offset: int = 1): bool

svc.MovePrevious(offset: int = 1): bool

ພາຣາມິເຕີ:

offset: ຈຳນວນລະບຽບຂໍ້ມູນທີ່ເຄີເຊີຈະຍ້າຍໄປຂ້າງໜ້າ ຫຼື ຖອຍຫຼັງ. ອາຄິວເມັ້ນນີ້ສາມາດເປັນຄ່າລົບໄດ້ (ຄ່າເລີ່ມຕົ້ນ = 1).

ຕົວຢ່າງ:

ໃນ Basic

      oDataset.MoveNext()
      oDataset.MoveNext(5)
    
ໃນ Python

      dataset.MoveNext()
      dataset.MoveNext(5)
    

Reload

ໂຫຼດຊຸດຂໍ້ມູນຄືນໃໝ່ຈາກຖານຂໍ້ມູນ. ສາມາດກຳນົດຄຸນສົມບັດ Filter ແລະ OrderBy ໄດ້ເມື່ອເອີ້ນໃຊ້ວິທີນີ້.

ວິທີນີ້ຈະສົ່ງຄືນຄ່າ True ເມື່ອສຳເລັດ.

ໄອຄອນ ເຄັດລັບ

ການໂຫຼດຊຸດຂໍ້ມູນຄືນໃໝ່ມີປະໂຫຍດເມື່ອມີການແຊກ ຫຼື ລຶບລະບຽບຂໍ້ມູນອອກຈາກຖານຂໍ້ມູນ. ໝາຍເຫດວ່າ ວິທີ CreateDataset ແລະ Reload ເຮັດວຽກຄ້າຍຄືກັນ, ແຕ່ Reload ຈະນຳໃຊ້ອິນສະແຕນຊ໌ຄລາສ Dataset ເດີມຄືນໃໝ່.


ໄວຍາກອນ:

svc.Reload(opt filter: str, opt orderby: str): bool

ພາຣາມິເຕີ:

filter: ລະບຸເງື່ອນໄຂທີ່ລະບຽບຂໍ້ມູນຕ້ອງກົງກັນ ເພື່ອໃຫ້ລວມຢູ່ໃນຊຸດຂໍ້ມູນທີ່ສົ່ງຄືນ. ອາຄິວເມັ້ນນີ້ແມ່ນສະແດງອອກເປັນຄຳສັ່ງ SQL WHERE ໂດຍບໍ່ຕ້ອງມີຄຳຫຼັກ "WHERE". ຖ້າບໍ່ໄດ້ລະບຸອາຄິວເມັ້ນນີ້, ຕົວຕອງທີ່ໃຊ້ໃນຊຸດຂໍ້ມູນປັດຈຸບັນຈະຖືກນຳໃຊ້, ຖ້າບໍ່ດັ່ງນັ້ນ ຕົວຕອງປັດຈຸບັນຈະຖືກແທນທີ່ດ້ວຍອາຄິວເມັ້ນນີ້.

orderby: ລະບຸການຈັດລຽງຂອງຊຸດຂໍ້ມູນເປັນຄຳສັ່ງ SQL ORDER BY ໂດຍບໍ່ຕ້ອງມີຄຳຫຼັກ "ORDER BY". ຖ້າບໍ່ໄດ້ລະບຸອາຄິວເມັ້ນນີ້, ລຳດັບການຈັດລຽງທີ່ໃຊ້ໃນຊຸດຂໍ້ມູນປັດຈຸບັນຈະຖືກນຳໃຊ້, ຖ້າບໍ່ດັ່ງນັ້ນ ລຳດັບການຈັດລຽງປັດຈຸບັນຈະຖືກແທນທີ່ດ້ວຍອາຄິວເມັ້ນນີ້.

ຕົວຢ່າງ:

ໃນ Basic

      oDataset.Reload()
      oDataset.Reload(Filter := "[Name] = 'John'", OrderBy := "Age")
    
ໃນ Python

      dataset.Reload()
      dataset.Reload(Filter = "[Name] = 'John'", OrderBy = "Age")
    

Update

ອັບເດດຄ່າຂອງຟີວທີ່ລະບຸໃນລະບຽບຂໍ້ມູນປັດຈຸບັນ.

ວິທີນີ້ຈະສົ່ງຄືນຄ່າ True ເມື່ອສຳເລັດ.

ໄວຍາກອນ:

svc.Update(pvargs: any): bool

ພາຣາມິເຕີ:

pvargs: Dictionary ທີ່ບັນຈຸຄູ່ຂອງຊື່ຟີວ ແລະ ຄ່າຂອງພວກມັນ. ຫຼື ສາມາດລະບຸອາຄິວເມັ້ນເປັນຈຳນວນຄູ່ ໂດຍສະຫຼັບກັນລະຫວ່າງຊື່ຟີວ (ເປັນ String) ແລະ ຄ່າຂອງພວກມັນ.

ຕົວຢ່າງ:

ໃນ Basic

ຕົວຢ່າງລຸ່ມນີ້ອັບເດດລະບຽບຂໍ້ມູນປັດຈຸບັນໂດຍໃຊ້ Dictionary.


      oNewValues = CreateScriptService("Dictionary")
      oNewValues.Add("Age", 51)
      oNewValues.Add("City", "New York")
      oDataset.Update(oNewValues)
    

ຜົນລັບດຽວກັນສາມາດເຮັດໄດ້ໂດຍການສົ່ງຄູ່ຂອງຟີວ ແລະ ຄ່າທັງໝົດເປັນອາຄິວເມັ້ນ:


      oDataset.Update("Age", 51, "City", "New York")
    
ໃນ Python

      new_values = {"Age": 51, "City": "New York"}
      dataset.Update(new_values)
    

      dataset.Update("Age", 51, "City", "New York")
      dataset.Update(Age = 51, City = "New York")
    
ໄອຄອນ ຄຳເຕືອນ

ຣູທີນ ຫຼື ຕົວລະບຸ Basic ຂອງ ScriptForge ທັງໝົດທີ່ຂຶ້ນຕົ້ນດ້ວຍເຄື່ອງໝາຍຂີດກ້ອງ "_" ແມ່ນສະຫງວນໄວ້ສຳລັບໃຊ້ພາຍໃນ. ພວກມັນບໍ່ໄດ້ມີໄວ້ໃຫ້ໃຊ້ໃນມາໂຄຣ Basic ຫຼື ສະຄຣິບ Python.


ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!