ASP.net,SQL数据库,插入,TextBoxes

时间:2011-12-09 19:35:14

标签: asp.net sql vb.net insert-update

我目前正在使用webform在Visual Basic 2010中工作。我在Visual Basic中创建了一个SQL数据库,我正在尝试使插入命令将值从文本框移动到数据库中。

所以我的问题是:如何从文本框中获取值(即:NameTextBox,AddressTextBox ..)并将它们与参数(@ Name,@ Address1)相关联?

数据库工作,我通过代码输入值来测试它。

以下是相关代码:

  <script runat="server">
' InsertShipper
  Private Sub InsertShipper (ByVal Source As Object, ByVal e As EventArgs)
    SqlDataSource1.Insert()
 End Sub
   </script>


 <asp:Button ID="OrderButton" runat="server" onclick="InsertShipper" Text="Order" />
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:OrderListConnectionString %>" 
        DeleteCommand="DELETE FROM [ORDER] WHERE [OID] = @OID" 
        InsertCommand="INSERT INTO [ORDER] ([Name], [Address1], [Address2], [City],     [State], [Zip], [Phone], [Email], [Subtotal], [Shipping]) VALUES ( @Name, @Address1,      @Address2, @City, @State, @Zip, @Phone, @Email, @Subtotal, @Shipping)" 
        SelectCommand="SELECT * FROM [ORDER]" 

        UpdateCommand="UPDATE [ORDER] SET [Name] = @Name, [Address1] = @Address1, [Address2] = @Address2, [City] = @City, [State] = @State, [Zip] = @Zip, [Phone] = @Phone, [Email] = @Email, [Subtotal] = @Subtotal, [Shipping] = @Shipping WHERE [OID] = @OID">
        <DeleteParameters>
            <asp:Parameter Name="OID" Type="Int32" />
        </DeleteParameters>
        <InsertParameters>

            <asp:Parameter name="Name" Type="String" />
            <asp:Parameter name="Address1" Type="String" />
            <asp:Parameter Name="Address2" Type="String" />
            <asp:Parameter Name="City" Type="String" />
            <asp:Parameter Name="State" Type="String" />
            <asp:Parameter Name="Zip" Type="String" />
            <asp:Parameter Name="Phone" Type="String" />
            <asp:Parameter Name="Email" Type="String" />
            <asp:Parameter Name="Subtotal" Type="String" />
            <asp:Parameter Name="Shipping" Type="String" />
        </InsertParameters>
        <UpdateParameters>
            <asp:Parameter Name="Name" Type="String" />
            <asp:Parameter Name="Address1" Type="String" />
            <asp:Parameter Name="Address2" Type="String" />
            <asp:Parameter Name="City" Type="String" />
            <asp:Parameter Name="State" Type="String" />
            <asp:Parameter Name="Zip" Type="String" />
            <asp:Parameter Name="Phone" Type="String" />
            <asp:Parameter Name="Email" Type="String" />
            <asp:Parameter Name="Subtotal" Type="String" />
            <asp:Parameter Name="Shipping" Type="String" />
            <asp:Parameter Name="OID" Type="Int32" />
        </UpdateParameters>
    </asp:SqlDataSource>

2 个答案:

答案 0 :(得分:1)

尝试将参数'ControlID和PropertyName设置为:

  <asp:ControlParameter Name="Title" 
  ControlID="txtFoo"
  PropertyName="Text"/>

请参阅http://msdn.microsoft.com/en-us/library/xt50s8kz.aspx

答案 1 :(得分:0)

您的参数'Name属性缺少“@”字符。您需要添加它或它将其视为完全不同的参数。