AsSqlCommand examples
AsSqlCommand դասի օրինակներ
Բոլոր օրինակներում rdoConSys-ը AsRdoConnection տիպի օբյեկտ է:
ExecuteNonQuery օրինակ. Result Set չվերադարձնող Stored procedure-ի կանչ:
Օրինակում Stored procedure-ը կանչվում է և օգտագործվում են դրա Output պարամետրերի արժեքները: Պարամետրերն ավելացվում էն ճիշտ Stored procedure-ում եղած անուններով: Հարցման օբյեկտը պատրաստվում է 1 անգամ` բազմակի օգտագործման համար:
Private oGetLastRemCommand As AsSqlCommand
Friend Sub GetLastRem(ByVal Acc As String, ByVal ISN As Long, _
ByRef xRem As Currency, ByRef xRemNC As Currency)
If oGetLastRemCommand Is Nothing Then
Prepare_oGetLastRemCommand
End If
With oGetLastRemCommand
.Parameters("@TYPE").Value = Acc
.Parameters("@OBJECT").Value = ISN
.ExecuteNonQuery
xRemNC = .Parameters("@REM").Value
xRem = .Parameters("@CURREM").Value
End With
End Sub
Private Sub Prepare_oGetLastRemCommand()
Set oGetLastRemCommand = rdoConSys.CreateSqlCommand()
With oGetLastRemCommand
.CommandType = StoredProcedure
.CommandText = "{ Call asp_GetLastRem(?,?,?,?) }"
.Parameters.Add "@TYPE", Sql_Char
.Parameters.Add "@OBJECT", Sql_Int
.Parameters.Add "@REM", Sql_Money, , vbParamDirOutput
.Parameters.Add "@CURREM", Sql_Money, , vbParamDirOutput
End With
End Sub
ExecuteNonQuery օրինակ. անվանական պարամետրերվ հարցում
Dim updateDescrCommand As AsSqlCommand
Set updateDescrCommand = rdoConSys.CreateSqlCommand()
With updateDescrCommand
.CommandType = NamedText
.CommandText = "Update DOCSIM Set fVALUE = @VALUE Where fISN = @ISN and fIMAGE = @IMAGE"
.Parameters.Add "@VALUE", Sql_VarBinaryMax, Value, vbParamDirInput
.Parameters.Add "@ISN", Sql_Int, ISN, vbParamDirInput
.Parameters.Add "@IMAGE", Sql_Varchar, Image, vbParamDirInput
.ExecuteNonQuery
End With
ExecuteNonQuery օրինակ. անանուն պարամետրերվ հարցում
Dim updateDescrCommand As AsSqlCommand
Set updateDescrCommand = rdoConSys.CreateSqlCommand()
With updateDescrCommand
.CommandType = Text
.CommandText = "Update DOCSIM Set fVALUE = ? Where fISN = ? and fIMAGE = ?"
.Parameters.Add "@VALUE", Sql_VarBinaryMax, Value, vbParamDirInput
.Parameters.Add "@ISN", Sql_Int, ISN, vbParamDirInput
.Parameters.Add "@IMAGE", Sql_Varchar, Image, vbParamDirInput
.ExecuteNonQuery
End With
ExecuteScalar օրինակ
Օրինակում, չնայած որ ավելացնելիս պարամետրերին անուններ են տրվում, հարցումն ուղարկելիս այդ անունները հաշվի չեն առնվում, քանի որ CommandType = Text: Այդ անունները կարելի է օգտագործել պարամետրերի ցուցակից պարամետրը ստանալու համար:
Public Function GetDefinitionCaption(ByVal sElementName As String, _
ByVal sElementType As String) As String
Dim oGetDefinitionCaptionCommand As AsSqlCommand
Dim vScalarValue as Variant
Set oGetDefinitionCaptionCommand = rdoConSys.CreateSqlCommand()
With oGetDefinitionCaptionCommand
.CommandType = Text
.CommandText = "Select sd.fCAPTION FROM dbo.SYSDEF sd WHERE sd.fSYSTYPE = ? AND sd.fNAME = ?"
.Parameters.Add "@SYSTYPE", Sql_SmallInt, sElementType
.Parameters.Add "@NAME", Sql_Varchar, sElementName
vScalarValue = .ExecuteScalar()
If IsEmpty(vScalarValue) Then
GetDefinitionCaption = ""
Else
GetDefinitionCaption = vScalarValue
End If
End With
End Function
OpenResultSet օրինակ
Private Sub SQLCommandOpenResultSet()
Dim i As Long
Dim k As Log
Dim rs As AsSqlResultset
Set sqlcmd = New AsSqlCommand
Set sqlcmd.Connection = oOdbcConnection
Dim colValue() As Variant
ReDim colValue(10)
sqlcmd.CommandType = NamedText
sqlcmd.CommandText = "Select Top 10 * from FOLDERS where fISN <> @ISN"
sqlcmd.Parameters.Add "@ISN", Sql_Int, 515447059, vbParamDirInput)
Set rs = sqlcmd.OpenResultSet()
While Not rs.EOF
For i = 0 To rs.Columns.Count - 1
colValue(k) = rs(i) 'կամ rs.Columns.Item(i).Value
k = k+1
Next
rs.MoveNext
Wend
rs.Close
End Sub