我正在使用VB.NET
我的问题是,我已经得到了request.querystring
http://localhost/ISS/Training/TrainingUpdate.aspx?cpuserid='50'&%20courseid='6'&%20status='accept'
现在我想在sql存储过程参数中传递以上三个查询字符串。
例如,
Try
Dim conString As String = WebConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString
Dim con As New SqlConnection(conString)
con.Open()
Dim cmd As SqlCommand
cmd = New SqlCommand("uspUpdateDelegateAcceptDeclineStatus", con)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@CPUserID", SqlDbType.Int).Value = Request.QueryString("cpuserid")
cmd.Parameters.Add("@CourseID", SqlDbType.Int).Value = Request.QueryString("courseid")
cmd.Parameters.Add("@StatusName", SqlDbType.Int).Value = Request.QueryString("status")
cmd.ExecuteNonQuery()
Catch ex As Exception
ErrorHandler.WriteError(ex.Message)
End Try
但我可以在参数中获取请求查询字符串值。
请建议。
感谢。
最诚挚的问候, YUV
答案 0 :(得分:2)
删除查询字符串中的额外'%20'(空格)(如果可以)。如果那不是一个选项,那么请记住它们是查询字符串的一部分,因此当您访问这些值时,您需要包含它:
Request.QueryString(" cpuserid")
答案 1 :(得分:0)
首先,看起来你的URL中有一些额外的空格(特别是在由%20标记的QueryString中)。
不确定是否会抛弃或不抛弃,但这是可能的。