获取错误的SqlParameter带参数名称

问题描述 投票:0回答:1

我用我的项目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

我得到的错误:

与参数名称“veh_regn_no”的SqlParameter的不受此SqlParameterCollection遏制。

我在哪里犯了一个错误?

c# asp.net ado.net
1个回答
0
投票

是的,我得到了上述问题的答案。这样veh_regn_no使用前使用@符号

e.Command.Parameters("@veh_regn_no").Value
e.Command.Parameters("@start_date").Value
e.Command.Parameters("@end_date").Value
© www.soinside.com 2019 - 2024. All rights reserved.