Вставка данных в базу данных SQL Server - PullRequest
0 голосов
/ 21 ноября 2011

Я пытался вставить данные в базу данных SQL Server 2000, но безуспешно.Я использую Visual Studio 2010. Я использую приведенный ниже код, который не генерирует никаких ошибок при нажатии на кнопку для вставки, но вместо этого он вставляет NULL в виде строки в таблице для обоих столбцов.Пожалуйста, помогите или просто покажите мне, как написать простое приложение, которое вставляет некоторые данные в таблицу базы данных.Спасибо вам, ребята.

Ниже приведен код, который мне удалось написать, и я использую источник данных sql:

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <h2>
        My Test Insert
    </h2>
    <p class="style1">
        <asp:TextBox ID="FirstName" runat="server" Width="258px"></asp:TextBox>
    </p>
      <p class="style1">
        <asp:TextBox ID="LastName" runat="server" style="text-align: center" 
            Width="260px"></asp:TextBox>
    </p>
    <p class="style1">
        <asp:Button ID="Button1" runat="server" Text="Button" Width="89px" />
    </p>
<p class="style1">
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </p>
    <p class="style1">
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            InsertCommand="INSERT INTO TblNames(FirstName, LastName) VALUES (@FirstName, @LastName)" 
            SelectCommand="SELECT * FROM [TblNames]">
            <InsertParameters>
                <asp:Parameter Name="FirstName" />
                <asp:Parameter Name="LastName" />
            </InsertParameters>

        </asp:SqlDataSource>
    </p>

    </asp:Content>

Событие нажатия кнопки:

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        'If the page is valid, add the new product
        If Page.IsValid Then
            SqlDataSource1.Insert()

            'Display confirmation message
            Label1.Text = String.Format("Name {0} has been added to the database...", FirstName.Text)
        End If
    End Sub
End Class

Ответы [ 2 ]

0 голосов
/ 21 ноября 2011

Из библиотеки MSDN ваш InsertParameters должен быть

<InsertParameters>
    <asp:FormParameter Name="FirstName" FormField="FirstName" />
    <asp:FormParameter Name="LastName" FormField="LastName" />
</InsertParameters>

В этом коде вы сообщаете параметрам Insert, какими будут их имена и значения.Кроме того, есть опция <asp:ControlParameter>, которая также позволяет вам указать имя параметра и controlid, который даст вам значение параметра.

0 голосов
/ 21 ноября 2011

Вы пробовали Button1_Click без

 If Page.IsValid Then

?

...