我在项目中使用SqlDataSource1控件。
源代码:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:CTSConnectionString %>" SelectCommand="Vehicle" SelectCommandType="StoredProcedure" OnSelecting="SqlDataSource1_Selecting">
<SelectParameters>
<asp:Parameter Name="veh_regn_no" Type="String" />
<asp:Parameter Name="start_date" Type="DateTime" />
<asp:Parameter Name="end_date" Type="DateTime" />
</SelectParameters>
</asp:SqlDataSource>
代码背后:
Protected Sub SqlDataSource1_Selecting(ByVal sender As Object, ByVal e As SqlDataSourceSelectingEventArgs)
Try
If (ddlVehicleReg.SelectedIndex > 0) AndAlso (txtStartDate.Text <> "") AndAlso (txtEndDate.Text <> "") Then
e.Command.Parameters("veh_regn_no").Value = Convert.ToString(ddlVehicleReg.SelectedValue)
e.Command.Parameters("start_date").Value = DateTime.ParseExact(txtStartDate.Text, "dd/MM/yyyy HH:mm:ss", Nothing)
e.Command.Parameters("end_date").Value = DateTime.ParseExact(txtEndDate.Text, "dd/MM/yyyy HH:mm:ss", Nothing)
End If
Catch ex As Exception
End Try
End Sub
我收到错误:
带有ParameterName&#39; veh_regn_no&#39;的SqlParameter不包含在此SqlParameterCollection中。
我在哪里犯了错误?
答案 0 :(得分:0)
是的,我得到了上述问题的答案。 在veh_regn_no之前使用@符号 像这样使用
e.Command.Parameters("@veh_regn_no").Value
e.Command.Parameters("@start_date").Value
e.Command.Parameters("@end_date").Value