problems with type conversion...

  • Thread starter Thread starter Brad Pears
  • Start date Start date
B

Brad Pears

I am using a function called "CreateSQLParam" which adds SQL parameters to a
collection.

The function is shown below... I add a parameter to a collection using the
following line code...

dim colParms as collection

' Add a paramter to the collection
colParms.Add(CreateSQLParam("@vcContractNo", ContractNo, SqlDbType.VarChar,
ParameterDirection.Input)

I am getting an error on the "ContractNo" field in the above line that says
"option strict on disallows narrowing from type "object" to type "string"
in copying teh value of ByRef parameter "sValue" back to the matching
argument
Here is the function...

Function CreateSQLParam(ByVal sName As String, ByRef sValue As Object, ByVal
varType As System.Data.SqlDbType, ByVal varDir As ParameterDirection) As
SqlClient.SqlParameter

Dim objParam As SqlClient.SqlParameter

objParam = New SqlClient.SqlParameter()

objParam.ParameterName = sName

If IsNothing(sValue) Then sValue = System.DBNull.Value

objParam.Value = sValue

objParam.SqlDbType = varType

objParam.Direction = varDir

CreateSQLParam = objParam

End Function


Can someone help me out with what I need to do to get this working
properly??

Thanks, Brad
 
Brad Pears said:
I am using a function called "CreateSQLParam" which adds SQL
parameters to a collection.

The function is shown below... I add a parameter to a collection
using the following line code...

dim colParms as collection

' Add a paramter to the collection
colParms.Add(CreateSQLParam("@vcContractNo", ContractNo,
SqlDbType.VarChar, ParameterDirection.Input)

I am getting an error on the "ContractNo" field in the above line
that says "option strict on disallows narrowing from type "object" to type
"string" in copying teh value of ByRef parameter "sValue"
back to the matching argument
Here is the function...

I guess "ContractNo" is declared as String. What if sValue returns
System.DBNull.Value? It could not be stored in a string variable. If you
don't want sValue to return a value, declare it ByVal.


Armin
 
Back
Top