簡體   English   中英

輸入字符串的格式不正確vb.net/asp.net

[英]Input string was not in a correct format vb.net/asp.net

這是我的表單視圖。

<asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource1" DataKeyNames="recid">
<EditItemTemplate>
RECID:
<asp:TextBox ID="recid" runat="server" Text='<%# Eval("RECID") %>' ReadOnly="true" />
<br />
SHIPPER:
<asp:TextBox ID="shipper" runat="server" Text='<%# Bind("SHIPPER") %>' />
<br />
<asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="Update" />
&nbsp;
<asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" />
</EditItemTemplate>
</asp:FormView>

這是我的sqldatasource1

<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
SelectCommand="SELECT * FROM IMPORT WHERE (RECID = ?)"
UpdateCommand="UPDATE IMPORT SET SHIPPER=@shipper WHERE RECID=@recid" >
<SelectParameters>
<asp:ControlParameter ControlID="Label1" Name="RECID" PropertyName="Text" Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="recid" Type="Int32" />
<asp:Parameter Name="shipper" Type="String" />
</UpdateParameters>
</asp:SqlDataSource> 

現在,我的問題是每次更新頁面時,這都是錯誤輸入字符串的格式不正確。

我嘗試將UpdateCommand中的@recid更改為常量UpdateCommand =“ UPDATE IMPORT SET SHIPPER = @ shipper WHERE RECID = 11186”,此方法運行良好,更新成功。

我認為@recid在UpdateCommand中被視為字符串。 有人可以幫幫我嗎? 為了將@recid的數據類型更改為Integer,我需要做什么?

謝謝!

您需要解決的第一件事是將raceid與文本框綁定,如下所示:

<asp:TextBox ID="recid" runat="server" Text='<%# Bind("RECID") %>' ReadOnly="true" />

現在有一個關於提供者的問題。 在select命令中,您已使用RACEID = ? ? 用於OleDbOdbc 如果使用其中任何一個,則必須將“更新命令”更改為此:

UpdateCommand="UPDATE IMPORT SET SHIPPER=? WHERE RECID=?"

和UpdateParameters到此(注意其順序):

<UpdateParameters>
    <asp:Parameter Name="shipper" Type="String" />
    <asp:Parameter Name="recid" Type="Int32" />
</UpdateParameters>

我建議閱讀此MSDN文章: 通過SqlDataSource控件使用參數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM