Public Function RunStoreProcReturn(ByVal sStoreProduceName As String, Optional ByRef colParms As Collection = Nothing, Optional ByVal errorpage As Page = Nothing) As DataSet
strsqlconn = New SqlConnection(STRCONN)
Dim newpage As New Page()
Dim ds As New DataSet()
Dim sqlAdapt As New SqlDataAdapter()
Dim sqlCMD As New SqlCommand(sStoreProduceName, strsqlconn)
sqlCMD.CommandType = CommandType.StoredProcedure
If Not IsNothing(colParms) Then
Dim oParm As SqlClient.SqlParameter
For Each oParm In colParms
sqlCMD.Parameters.Add(oParm)
Next
End If 'Dim myParm As SqlClient.SqlParameter = sqlCMD.Parameters.Add("ReturnValue", SqlDbType.Int)
'myParm.Direction = ParameterDirection.ReturnValue
' sqlCMD.Transaction = strsqlconn.BeginTransaction()
Try
strsqlconn.Open()
sqlAdapt.SelectCommand = sqlCMD
sqlAdapt.Fill(ds)
Return ds
' sqlCMD.ExecuteNonQuery()
' sqlCMD.Transaction.Commit() 'Return myParm.Value ' sqlCMD.Parameters("@Balance").Value
Catch e As Exception
' sqlCMD.Transaction.Rollback()
Finally
strsqlconn.Close()
End Try
End Function
strsqlconn = New SqlConnection(STRCONN)
Dim newpage As New Page()
Dim ds As New DataSet()
Dim sqlAdapt As New SqlDataAdapter()
Dim sqlCMD As New SqlCommand(sStoreProduceName, strsqlconn)
sqlCMD.CommandType = CommandType.StoredProcedure
If Not IsNothing(colParms) Then
Dim oParm As SqlClient.SqlParameter
For Each oParm In colParms
sqlCMD.Parameters.Add(oParm)
Next
End If 'Dim myParm As SqlClient.SqlParameter = sqlCMD.Parameters.Add("ReturnValue", SqlDbType.Int)
'myParm.Direction = ParameterDirection.ReturnValue
' sqlCMD.Transaction = strsqlconn.BeginTransaction()
Try
strsqlconn.Open()
sqlAdapt.SelectCommand = sqlCMD
sqlAdapt.Fill(ds)
Return ds
' sqlCMD.ExecuteNonQuery()
' sqlCMD.Transaction.Commit() 'Return myParm.Value ' sqlCMD.Parameters("@Balance").Value
Catch e As Exception
' sqlCMD.Transaction.Rollback()
Finally
strsqlconn.Close()
End Try
End Function
应该插入DBNull.Value
我按照你的做法,插入DnNull.Value时出现下面错误,请问如何解决
BC30311: 类型“System.DBNull”的值无法转换为“String”。
对不起,我在提问时写错了,可是我做如下处理时:
If Not Info.N_keyword is DBNull.Value then
comd.Parameters.Add(New OleDbParameter("@N_keyword", OleDbType.Char))
comd.Parameters("@N_keyword").Value = Fm.HTMLcode(Fm.badString(Info.N_keyword))
Else
comd.Parameters("@N_keyword").Value = Dbnull.value
End If
提示错误@N_keyword没有默认值?