Advertisement
Anaristos

luacom example

Apr 12th, 2015
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.84 KB | None | 0 0
  1. --
  2. -- SQLite3 Connection Variables
  3. --
  4. dmsConnStr = "dmsManager.Agent" -- Connection string to COM object
  5. --
  6. ctabname = "COM_Table_334"
  7. dtabname = "Control_Table_320"
  8. msstname = "COM_MSS_Table"
  9. --
  10. conndb = "C:\\Tony Gomez\\AardwolfDB\\Aardwolf_Control.db3"
  11. --
  12. -- COM Objects
  13. --
  14. commasks = {}
  15. --
  16. comcon = nil
  17. comatt = nil
  18. comccb = nil
  19. comdgm = nil
  20. comdsk = nil
  21. comdud = nil
  22. comequ = nil
  23. commap = nil
  24. commbt = nil
  25. commdb = nil
  26. commds = nil
  27. commem = nil
  28. commob = nil
  29. comms3 = nil
  30. commsc = nil
  31. comsdb = nil
  32. comsql = nil
  33. comssa = nil
  34. comssb = nil
  35. comssc = nil
  36. comssd = nil
  37. comsse = nil
  38. comtmp = nil
  39. comusr = nil
  40. --
  41. -- COM Object Table Flag masks
  42. --
  43. comflags = {}
  44. --
  45. -- Functions
  46. --
  47. function loadcomflags()
  48. --
  49. local sql = "SELECT COUNT(*) AS [count] FROM [Control Masks];"
  50. --
  51. sql = sql.."SELECT * FROM [Control Masks]"
  52. --
  53. local flags = comcon:exec(sql)
  54. --
  55. flags = json.decode(flags)
  56. --
  57. local count = flags[1]["count"]
  58. --
  59. for i = 2, count + 1 do comflags[flags[i]["Key"]] = lshift(1, flags[i]["Mask"] - 1) end
  60. --
  61. end
  62. --
  63. function conninit()
  64. --
  65. comsdb = luacom.CreateObject(dmsConnStr) -- Connect to COM object.
  66. --
  67. comcon = comsdb:start() -- This returns a secondary COM entry point.
  68. --
  69. comcon.UseMap     = true -- setting properties in the COM object.
  70. comcon.JSONFormat = true -- ditto
  71. --
  72. comcon:open(conndb) -- here I call a method of my com object.
  73. --
  74. sql1 = "SELECT COUNT(*) AS [count] FROM ["..ctabname.."];SELECT * FROM ["..ctabname.."]"
  75. sql2 = "SELECT * FROM ["..dtabname.."] WHERE [Index] = ?"
  76. --
  77. local tab = comcon:Execute(sql1) -- method call
  78. --
  79. defvtab = comcon:Execute(sql2, 1) -- method call
  80. --
  81. tab = json.decode(tab)
  82. --
  83. defvtab = json.decode( defvtab)[1]
  84. --
  85. local count = tab[1]["count"]
  86. --
  87. for i = 2, count + 1 do
  88.  conntab[i - 1] = tab[i]
  89.  conntab[i - 1]["Index"] = i - 1
  90. end
  91. --
  92.  
  93. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement