<asp:GridView ID="gv" ........./><asp:DetailsView ID="dv" runat="server" DataSourceID="ds"/>
<Fields>
<asp:BoundField DataField="bb" HeaderText="bb" SortExpression="bb" />
<asp:BoundField DataField="cc" HeaderText="cc" SortExpression="cc" />
<asp:BoundField DataField="dd" HeaderText="dd" SortExpression="dd" />
<asp:BoundField DataField="ee" HeaderText="ee" SortExpression="ee" />
</Fields>
</asp:DetailsView><asp:AccessDataSource runat="server" ..........
SelectCommand="SELECT aa, bb, cc, dd, ee, ff FROM A WHERE (aa=@aa)"
InsertCommand="INSERT INTO A (bb, cc, dd, ee, ff) VALUES (@bb, @cc, @dd, @ee, @ff)"
<SelectParameters>
<asp:ControlParameter ControlID="gv" Name="aa" PropertyName="SelectedValue" Type="String" />
</SelectParameters>
<InsertParameters>
<asp:ControlParameter ControlID="gv" Name="ff" PropertyName="SelectedValue" Type="String" />
</InsertParameters>
</asp:AccessDataSource> dv执行插入操作异常, dv只有4个可见字段bb、cc、dd、ee, 在插入时, 我需要加一个ff, ff为gv.SelectedValue大虾们, 为达到目的该怎么做?
<Fields>
<asp:BoundField DataField="bb" HeaderText="bb" SortExpression="bb" />
<asp:BoundField DataField="cc" HeaderText="cc" SortExpression="cc" />
<asp:BoundField DataField="dd" HeaderText="dd" SortExpression="dd" />
<asp:BoundField DataField="ee" HeaderText="ee" SortExpression="ee" />
</Fields>
</asp:DetailsView><asp:AccessDataSource runat="server" ..........
SelectCommand="SELECT aa, bb, cc, dd, ee, ff FROM A WHERE (aa=@aa)"
InsertCommand="INSERT INTO A (bb, cc, dd, ee, ff) VALUES (@bb, @cc, @dd, @ee, @ff)"
<SelectParameters>
<asp:ControlParameter ControlID="gv" Name="aa" PropertyName="SelectedValue" Type="String" />
</SelectParameters>
<InsertParameters>
<asp:ControlParameter ControlID="gv" Name="ff" PropertyName="SelectedValue" Type="String" />
</InsertParameters>
</asp:AccessDataSource> dv执行插入操作异常, dv只有4个可见字段bb、cc、dd、ee, 在插入时, 我需要加一个ff, ff为gv.SelectedValue大虾们, 为达到目的该怎么做?
<Fields>
<asp:BoundField DataField="bb" HeaderText="bb" SortExpression="bb" />
<asp:BoundField DataField="cc" HeaderText="cc" SortExpression="cc" />
<asp:BoundField DataField="dd" HeaderText="dd" SortExpression="dd" />
<asp:BoundField DataField="ee" HeaderText="ee" SortExpression="ee" />
<asp:BoundField DataField="ff" Visible="False" />
</Fields>
</asp:DetailsView>
<asp:Parameter Name="bb" Type="String" />
<asp:Parameter Name="cc" Type="String" />
<asp:Parameter Name="dd" Type="String" />
<asp:Parameter Name="ee" Type="String" />
<asp:ControlParameter ControlID="gv" Name="ff" PropertyName="SelectedValue" Type="String" />
</InsertParameters>
注意,以上的 Type 根据实际参数数据类型修改之
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 标准表达式中数据类型不匹配。
<asp:SqlDataSource ID="SqlDataSource1" Runat="server" SelectCommand="SELECT [au_id], [au_lname], [au_fname], [phone], [address], [city], [state], [zip], [contract] FROM [authors]"
UpdateCommand="UPDATE [authors] SET [au_lname] = @au_lname, [au_fname] = @au_fname, [phone] = @phone, [address] = @address, [city] = @city, [state] = @state, [zip] = @zip, [contract] = @contract WHERE [au_id] = @au_id"
ConnectionString="<%$ ConnectionStrings:Pubs %>" />
这是ASP示列里面的, 它的更新操作, 没有给出一个参数, 同样可以起效, 为什么? <asp:Parameter Name="bb" Type="String" />
参数中的类型, 用来做什么, 我的数据库中bb的实际类型为日期型, 可是, 我使用的Type="String", 一样可以用, 这又是为什么?