Page 1 of 1

SQL update u PmDatabase

PostPosted: Tue 17. Dec 2013 10:50:04
by Libor
Dobrý den,

mám dotaz... Mohu použít SQL dotaz UPDATE u objektu PmDatabase s typem uložení Acces? Upravuji si Váš příklad z demo apliakce:

Code: Select all
Dim oTable, aName, aData, nCols, j, i

aData = pMe.PmPanel.Methods.LoadFromDbSQL("SELECT * FROM table1")

If IsArray(aData) Then
   aName = pMe.PmPanel.Methods.GetColsName()

   If IsArray(aName) Then

    Set oTable = pMe.Items("/ax0").Acx

     nCols = UBound(aName)
     oTable.Dim nCols+1, 2, 0, 1, 80, 20, 1, 1
    oTable.SetColWidth 0,120

     oTable.RemoveRow -3

     For j=0 To nCols
       oTable.SetCellText 0,j,aName(j)
     Next
      For i=0 To UBound(aData,2)
       oTable.InsertRow -1
        For j=0 To UBound(aData,1)
          oTable.SetCellText i+1,j,aData(j,i)
        Next
      Next
     oTable.ResizeColEnabled = 1
     oTable.Draw
   End If
End If


Prozatím jsem docílil výpis dat. Nicméně bych také rád zapisoval / updatoval, ale pouze SQL dotazem.

Např. Jak použiji tento sql dotaz:
Code: Select all
UPDATE table1 SET Switch=1 WHERE Switch=0;


Děkuji za rady.

Libor

Re: SQL update u PmDatabase

PostPosted: Tue 17. Dec 2013 11:10:17
by Libor
Můj pokus s oDbExecute - nicméně error log mě vypíše, že danou metodu či objekt nepodporuje.

Code: Select all
Dim Prikaz, oDb

Set oDb = Pm("Common/Database")

Prikaz = "UPDATE table1 SET Switch = 1 where Switch = 0"

oDb.DbExecute "", Prikaz, ""

Re: SQL update u PmDatabase

PostPosted: Tue 17. Dec 2013 13:00:38
by Libor
Code: Select all
Dim oDb, sSQL
Set oDb = Pm("Common/Database")
sSQL = "UPDATE table1 SET Switch = 1 where Switch = 0"
oDb.Connect
' je připojena database. Lze volat metody Execute/ExecuteSQL.
oDb.ExecuteSQL sSQL


OK

Re: SQL update u PmDatabase

PostPosted: Wed 18. Dec 2013 7:58:17
by Tomáš Bräuer
Dobrý den,
beru to tak, že už to funguje a otázka je samo-vyřešena. Děkuji, že jste napsal řešení, když jste na to sám přišel a ušetřil nám tak práci.
Je pravda, že máme dvě technologie přístupu k databázím (PmAdo a PmDatabase) a každá má svojí, i když podobnou sadu metod, takže se snadno v dokumentaci člověk ocitne v té druhé technologii a překlep je na světě :-)