PdcDBQuery.SetParamStr: Difference between revisions

From External Bemet Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 12: Line 12:


<source lang="vb">
<source lang="vb">
    Dim myQuery As PDCEXT.IDBQuery = PDC.App.Database.OpenQuery(PDCEXT.pdcConnectionKind.pdcConData)
Sub sExecuteQuery
    myQuery.SQL = "SELECT * FROM LK_KLANT WHERE KL_PLAATS=:ParamOne AND KL_VINK1=:ParamTwo"
dim objQuery
    myQuery.SetParamStr("ParamOne", "Amsterdam")
    myQuery.SetParamBool("ParamTwo", True)


     If myQuery.Execute Then
  set objQuery = pdc.Database.OpenQuery(pdcConData)
       MsgBox(myQuery.GetField("KL_NAAM"))
  objQuery.SQL = "SELECT do_ordnr
     Else
                  FROM do_calc
       MsgBox($"Error: {PDC.App.LastError}")
                  WHERE do_kstsrt=:ParamOne AND do_vink1=:ParamTwo AND
    End If
                        do_lever=:ParamThree AND do_datin=:ParamFour AND
                        do_prdcmb=:ParamFive AND do_fact=:ParamSix"
 
  objQuery.SetParamStr      "ParamOne", "8000"
  objQuery.SetParamBool     "ParamTwo", True
  objQuery.SetParamDate    "ParamThree", Date()
  objQuery.SetParamDateTime "ParamFour", Now()
  objQuery.SetParamInt      "ParamFive", 1003456
  objQuery.SetParamDbl      "ParamSix", 678.56
 
  if objQuery.Execute then
    if not objQuery.Eof then
       dim strCalcNo   
      strCalcNo = objQuery.GetField("do_ordnr")
      msgbox strCalcNo
      
       objQuery.SQL = "update do_calc
                      set do_image = :ImageFromFile
                      where do_ordnr=:CalcNo"
 
      objQuery.SetParamStr          "CalcNo", strCalcNo
      objQuery.SetParamBlobFromFile "ImageFromFile", "c:\temp\filename.pdf"
      if not objQuery.Execute then
        msgbox "Error:" & vbCrLf & pdc.LastError & vbCrLf & vbCrLf & "SQL:" & vbCrLf & objQuery.SQL
      end if
    end if
  else
    msgbox "Error:" & vbCrLf & pdc.LastError & vbCrLf & vbCrLf & "SQL:" & vbCrLf & objQuery.SQL
  end if
End Sub
</source>
</source>


== Availability ==
== Availability ==
Available since May 2019 (from version 5.5)
Available since May 2019 (from version 5.5)

Latest revision as of 09:20, 19 January 2021

Declaration

SetParamStr(ParameterName as string, Value as string) as boolean

Description

Changes the value of the parameter with a specific name to 'Value'.

Notes

Changes the value of the parameter with a specific name to 'Value'. The result returns it was succesfull or not.

Code example

This code example executes a SQL statement with parameters.

Sub sExecuteQuery
dim objQuery

  set objQuery = pdc.Database.OpenQuery(pdcConData)
  objQuery.SQL = "SELECT do_ordnr 
                  FROM do_calc 
                  WHERE do_kstsrt=:ParamOne AND do_vink1=:ParamTwo AND 
                        do_lever=:ParamThree AND do_datin=:ParamFour AND 
                        do_prdcmb=:ParamFive AND do_fact=:ParamSix"

  objQuery.SetParamStr      "ParamOne", "8000"
  objQuery.SetParamBool     "ParamTwo", True
  objQuery.SetParamDate     "ParamThree", Date()
  objQuery.SetParamDateTime "ParamFour", Now()
  objQuery.SetParamInt      "ParamFive", 1003456
  objQuery.SetParamDbl      "ParamSix", 678.56
  
  if objQuery.Execute then
    if not objQuery.Eof then
      dim strCalcNo    
      strCalcNo = objQuery.GetField("do_ordnr")
      msgbox strCalcNo 
    
      objQuery.SQL = "update do_calc 
                      set do_image = :ImageFromFile
                      where do_ordnr=:CalcNo"

      objQuery.SetParamStr          "CalcNo", strCalcNo
      objQuery.SetParamBlobFromFile "ImageFromFile", "c:\temp\filename.pdf"
      if not objQuery.Execute then
        msgbox "Error:" & vbCrLf & pdc.LastError & vbCrLf & vbCrLf & "SQL:" & vbCrLf & objQuery.SQL
      end if
    end if
  else
    msgbox "Error:" & vbCrLf & pdc.LastError & vbCrLf & vbCrLf & "SQL:" & vbCrLf & objQuery.SQL
  end if
End Sub

Availability

Available since May 2019 (from version 5.5)