ADO.Net Web表單範例


可以建立一個具有ADO.NET連線性的Web表單。具有表單控制元件的簡單Web表單可以提交給伺服器。 ADO.NET可將提交的值儲存到SQL Server資料庫中。

在這裡,我們建立一個連線到SQL Server資料庫的Web表單應用程式。

首先開啟Visual Studio建立一個名稱為:AdoNetWebFormApp,如下所示 -

在這個專案中,在這個專案中新增一個新建項,在專案名稱上點選右鍵,在彈出的選單中選擇:新增->新增新項,檔案的名稱為:Register.aspx,如下圖所示 -

此Web表單包含以下原始碼。檔案:Register.aspx -

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Register.aspx.cs" Inherits="Register" %>

<!DOCTYPE html>

<!DOCTYPE html>  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head runat="server">  
    <title>WebForm</title>  
    <style type="text/css">  
        .auto-style1 {  
            width: 100%;  
        }  
        .auto-style2 {  
            width: 100px;  
        }  
        .auto-style3 {  
            width: 95px;  
        }  
    </style>  
</head>  
<body>  
    <form id="form1" runat="server">  
        <div>  
            <table class="auto-style1">  
                <tr>  
                    <td class="auto-style2">  
                       <asp:Label runat="server" Text="使用者名" ID="usernamelabelId"></asp:Label></td>  
                    <td>  
                       <asp:TextBox ID="UsernameId" runat="server"></asp:TextBox></td>  
                </tr>  
                <tr>  
                    <td class="auto-style2">  
                        <asp:Label runat="server" Text="Email"></asp:Label></td>  
                    <td>  
                        <asp:TextBox ID="EmailId" runat="server"></asp:TextBox></td>  
                </tr>  
                <tr>  
                    <td class="auto-style2">  
                        <asp:Label runat="server" Text="聯絡電話"></asp:Label></td>  
                    <td>  
                        <asp:TextBox ID="ContactId" runat="server"></asp:TextBox></td>  
                </tr>  
                <tr>  
                    <td class="auto-style2"></td>  
                    <td>  
                        <asp:Button ID="ButtonId" runat="server" Text="提交" OnClick="ButtonId_Click" /></td>  
                </tr>  
            </table>  
        </div>  
    <div>  
        <asp:Label ID="Label1" runat="server"></asp:Label>  
    </div>  
    </form>  
    <table class="auto-style1">  
        <tr>  
            <td class="auto-style3">  
                <asp:Label ID="Label2" runat="server"></asp:Label></td>  
            <td>  
                <asp:Label ID="Label5" runat="server"></asp:Label></td>  
        </tr>  
        <tr>  
            <td class="auto-style3">  
                <asp:Label ID="Label3" runat="server"></asp:Label></td>  
            <td>  
                <asp:Label ID="Label6" runat="server"></asp:Label></td>  
        </tr>  
        <tr>  
            <td class="auto-style3">  
                <asp:Label ID="Label4" runat="server"></asp:Label></td>  
            <td>  
                <asp:Label ID="Label7" runat="server"></asp:Label></td>  
        </tr>  
    </table>  
    </body>  
</html>

檔案:Register.aspx.cs -

using System;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Register : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void ButtonId_Click(object sender, EventArgs e)
    {
        SqlConnection con = null;
        try
        {
            // Creating Connection  
            con = new SqlConnection("data source=.; database=student; integrated security=SSPI");
            // Writing insert query  
            string query = "insert into student_info(id,name,email,contact)values(110,'" + UsernameId.Text + "','" + EmailId.Text + "','" + ContactId.Text + "')";
            SqlCommand sc = new SqlCommand(query, con);
            // Opening connection  
            con.Open();
            // Executing query  
            int status = sc.ExecuteNonQuery();
            Label1.Text = "提交的使用者資訊已經儲存到了表中,如下所示 - ";
            // ----------------------- Retrieving Data ------------------ //  
            SqlCommand cm = new SqlCommand("select top 1 * from student_info ORDER BY id DESC", con);
            // Executing the SQL query  
            SqlDataReader sdr = cm.ExecuteReader();
            sdr.Read();
            Label2.Text = "使用者名"; Label5.Text = sdr["name"].ToString();
            Label3.Text = "Email"; Label6.Text = sdr["email"].ToString();
            Label4.Text = "聯絡電話"; Label7.Text = sdr["contact"].ToString();
        }catch (Exception ex)
        {
            Console.WriteLine("OOPs, something went wrong." + ex);
        }
        // Closing the connection  
        finally
        {
            con.Close();
        }
    }
}

執行專案,得到以下結果 -

填寫表單資訊,如下所示 -

提交後,它將儲存並檢索SQL Server資料庫中最後一條插入的資料。如下圖所示 -

查詢資料庫studentstudent_info結果如下 -