I have:
par1 = New SqlParameter("@mediaId", SqlDbType.VarChar, 10)
par1.Value = "text"
myParams.Add(par1)
par2 = New SqlParameter("@datumStart", SqlDbType.DateTime)
par2.Value = Now()
myParams.Add(par2)
sql = "c_returnTimeSlotsHour"
Dim rdr As SqlDataReader
rdr = funkcije.createDataReader(sql, False, myParams)
Then I have my function:
Function createDataReader(ByVal sqlStr As String, Optional ByVal type As
Boolean = False, Optional ByVal myParams As Collection = Nothing) As
SqlDataReader
Dim oCmd As SqlCommand
Dim myReader As SqlDataReader
Dim param As SqlParameter
oCmd = New SqlCommand(sqlStr, createConnection)
If type = False Then
oCmd.CommandType = CommandType.StoredProcedure
If Not myParams Is Nothing Then
For Each param In myParams
oCmd.Parameters.Add(param)
Next
End If
End If
myReader = oCmd.ExecuteReader(CommandBehavior.CloseConnection )
Return myReader
End Function
The procedure:
CREATE PROCEDURE c_returnTimeSlotsHour
@mediaId as varchar(10),
@datumStart as datetime
AS
SELECT ....
When I run this, I always get an error message:
Syntax error converting the varchar value 'text' to a column of data type
int.
Why?
Thank you,
Simon