使用ParameterName在SqlParameter中获取错误

时间:2012-08-22 11:05:54

标签: c# asp.net ado.net

我在项目中使用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中。

我在哪里犯了错误?

1 个答案:

答案 0 :(得分:0)

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

e.Command.Parameters("@veh_regn_no").Value
e.Command.Parameters("@start_date").Value
e.Command.Parameters("@end_date").Value