Ado.net[增刪改查,GET傳值]

来源:http://www.cnblogs.com/wangwangwangMax/archive/2016/05/25/5527547.html
-Advertisement-
Play Games

1. 2.跳轉的另一個頁面 3.Get傳值:跳轉頁面.cs頁面 4. 跳轉頁面前端頁面 效果顯示: ...


1.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Home.aspx.cs" Inherits="_20160520.Home" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <link href="css/gv.css" rel="stylesheet" />
</head>
<body>
    <form id="form1" runat="server">
    <div class="gv">
        <table>
            <tr>
                <td>用戶名:</td>
                <td>
                    <asp:TextBox ID="TxtUserName" runat="server" Width="132px"></asp:TextBox>
                </td>
                <td>班級:</td>
                <td>
                    <asp:DropDownList ID="ddlsclass" runat="server">
                        <asp:ListItem>---請選擇---</asp:ListItem>
                        <asp:ListItem>微軟一班</asp:ListItem>
                        <asp:ListItem>微軟二班</asp:ListItem>
                        <asp:ListItem>微軟三班</asp:ListItem>
                    </asp:DropDownList>
                </td>
                <td>
                    <asp:Button ID="btnsel" runat="server" Text="查詢" OnClick="btnsel_Click" />
                </td>
            </tr>
        </table>
        <table>
            <tr>
                <td>用戶名:</td>
                <td>
                    <asp:TextBox ID="TxtUsersName" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>密碼:</td>
                <td>
                    <asp:TextBox ID="TxtPwd" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>姓名:</td>
                <td>
                    <asp:TextBox ID="Txtloginname" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>QQ:</td>
                <td>
                    <asp:TextBox ID="Txtqq" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>班級:</td>
                <td>
                    <asp:DropDownList ID="ddlclass" runat="server">
                        <asp:ListItem>---請選擇---</asp:ListItem>
                        <asp:ListItem>微軟一班</asp:ListItem>
                        <asp:ListItem>微軟二班</asp:ListItem>
                        <asp:ListItem>微軟三班</asp:ListItem>
                    </asp:DropDownList>
                </td>
            </tr>
            <tr>
                <td colspan="2" style="text-align: right">
                    <asp:Button ID="BtnAdd" runat="server" Text="添加" OnClick="BtnAdd_Click"/>
                </td>
            </tr>
        </table>
        <table>
            <tr>
                <td>ID:</td>
                <td>
                    <asp:TextBox ID="TxtDuserid" runat="server"></asp:TextBox>
                </td>
                <td>
                    <asp:Button ID="BtnDel" runat="server" Text="刪除" OnClick="BtnDel_Click" />
                </td>
            </tr>
        </table>
        <table>
            <tr>
                <td> ID</td>
                <td>
                    <asp:TextBox ID="TxtuUserId" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td> 用戶名:</td>
                <td>
                    <asp:TextBox ID="TxtuUserName" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td colspan="2" style="text-align: right">
                    <asp:Button ID="BtnUpdate" runat="server" Text="更新" OnClick="Button1_Click" />
                </td>
            </tr>
        </table>
        <asp:GridView ID="IdGridView" runat="server" AutoGenerateColumns="False">
            <Columns>
                <asp:BoundField DataField="id" HeaderText="ID" />
                <asp:BoundField DataField="username" HeaderText="用戶名" />
                <asp:BoundField DataField="PWD" HeaderText="密碼" />
                <asp:BoundField DataField="loginname" HeaderText="姓名" />
                <asp:BoundField DataField="qq" HeaderText="QQ" />
                <asp:BoundField DataField="classname" HeaderText="班級" />
                <asp:TemplateField HeaderText="詳情">
                    <ItemTemplate>
                        <a href="UserInfo.aspx?id=<%#Eval("ID") %>" target="_blank">詳情</a>
                        <%--<a href='UserInfo.aspx?userid=<%#Eval("UserId") %>' target="_blank">詳情</a
                       <%-- <a href="one.aspx?">詳情</a>--%>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
       
    </div>
    </form>
</body>
</html>

 2.跳轉的另一個頁面

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

namespace _20160520
{
    public partial class Home : System.Web.UI.Page
    {
        //假如頁面多,每個頁面都要寫一個連接字元串,所以我們一般放在配置文件中
        //string strstring = "server=.; Database=MyBookShop;Integrated Security=false;Uid=sa;Pwd=123456";
       // string connStr = "Database=Student;Server=.;Integrated Security=false;Uid=sa;Password=123;";     

        //通過這個類ConfigurationManager獲取web.confiig裡面的節點名稱來獲取連接的字元串
        private string conStr = ConfigurationManager.ConnectionStrings["mySchool"].ToString();
        //把這個字元串傳進去
       //SqlConnection con = new SqlConnection(conStr);
       SqlConnection con = null;//相當於是電話
       SqlCommand cmd = null;//執行sql語句
       SqlDataReader dr = null;//用於儲存查詢結果

       private void openDB()
       {
           con = new SqlConnection(conStr);
           con.Open();//和資料庫建立起了連接
           //我們單獨把這兩句話封裝起來直接調用就好
       }
        //頁面一運行就執行這裡面的內容
        protected void Page_Load(object sender, EventArgs e)
        {
            BindUser();
        }
        public void BindUser()
        {
            try
            {
                openDB();
                //得到sql語句
                //string sql = "select loginid,name,loginpwd,address,ClassName,mail from Users";
                string sql = Getswhere();
                //執行sql語句
                using (cmd = new SqlCommand(sql, con))
                //對象有了,我們要通過對象去執行sql語句
                {
                    using (dr = cmd.ExecuteReader())
                    {
                        IdGridView.DataSource = dr;
                        IdGridView.DataBind();
                    }
                    //dr.Dispose();//釋放資源
                    //dr.Close();//關閉連接
                    //con.Dispose();
                    //con.Close();
                }
            }
            catch 
            {
                Response.Write("網站正在維護中.......!");
            }
        }
        protected void btnsel_Click(object sender, EventArgs e)
        {
              
        }
        //我們需要得到where後面
        public string Getswhere() 
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("select ID,username,PWD,loginname,qq,classname from Users  where 1=1");
            //獲取到它的用戶名
            string username = TxtUserName.Text.Trim();
            if (!string.IsNullOrEmpty(username))
            {
                sb.Append(string.Format("and username='{0}'", username));
            }
            if(ddlsclass.SelectedIndex>0)
            {
                sb.Append(string.Format("and ClassName='{0}'", ddlsclass.SelectedValue));
            }
            return sb.ToString();
        }

        //添加
        protected void BtnAdd_Click(object sender, EventArgs e)
        {
            try
            {
                //要獲取到文本框裡面的內容
                string username = TxtUsersName.Text.Trim();
                string pwd = TxtPwd.Text.Trim();
                string loginname = Txtloginname.Text.Trim();
                string qq = Txtqq.Text.Trim();
                //ddlclass.SelectedIndex > 0 ? ddlclass.SelectedValue "" : ;判斷它是否被選中,如果選中>0,就等於選中的內容,如果沒有被選中的話,就為空
                string classname = ddlclass.SelectedIndex > 0 ?  ddlclass.SelectedValue: "";
                //寫sql語句
                string sql = string.Format("insert  Users (username,PWD,loginname,qq,classname)  values ('{0}','{1}','{2}','{3}','{4}')", username, pwd, loginname, qq, classname);
                //sql語句有了之後怎麼做添加呢?
                //第一步和資料庫建立起連接
                openDB();
                //連接建立起來之後,我們創建一個sqlcommand對象
                using (cmd = new SqlCommand(sql, con))
                {
                    //這時候我們怎麼通過對象去執行它的插入呢?ExecuteNonQuery執行增刪改查語句,返回的是int類型
                    cmd.ExecuteNonQuery();
                }
                //直接綁定
                BindUser();
            }
            catch 
            {
                Response.Write("網站正在維護中.......!");
            }
        }

        //刪除
        protected void BtnDel_Click(object sender, EventArgs e)
        {
            int userid = 0;//userid預設等於0
            //有可能輸入的不是整數,不是整數的話,輸入之後它有可能發生異常
            try
            {
                //TxtDuserid.Text.Trim()==""?,如果它的內容等於空的話,我們就讓它等於0(?0),不為空的話,我們就Convert(將一個數據類型轉為另一個基本數據類型)一下
                 userid = TxtDuserid.Text.Trim() == "" ? 0 : Convert.ToInt32(TxtDuserid.Text.Trim());
            }
            catch 
            {
                userid = 0;
            }
            //id就得到了,判斷資料庫裡面有沒有
            string s1 = string.Format("select ID from users where ID={0}", userid);
            //和資料庫建立起連接
            openDB();
            using (cmd = new SqlCommand(s1, con))
            {
                dr = cmd.ExecuteReader();
                    //查詢有沒有數據
                    if (dr.HasRows)
                    {
                        //如果有,就執行刪除語句,得到一個s2
                        string s2 = string.Format("delete Users where ID={0}",userid);
                        dr.Dispose();
                        dr.Close();
                        using(cmd = new SqlCommand(s2, con))
                        {
                            cmd.ExecuteNonQuery();
                        }
                    }
                    else
                    { 
                        //沒有就
                        Response.Write("該用戶ID不存在!");
                    }
            }
            BindUser();
        }

        //更新
        protected void Button1_Click(object sender, EventArgs e)
        {
            int userid = 0;//userid預設等於0
            //有可能輸入的不是整數,不是整數的話,輸入之後它有可能發生異常
            try
            {
                //TxtDuserid.Text.Trim()==""?,如果它的內容等於空的話,我們就讓它等於0(?0),不為空的話,我們就Convert(將一個數據類型轉為另一個基本數據類型)一下
                userid = TxtuUserId.Text.Trim() == "" ? 0 : Convert.ToInt32(TxtuUserId.Text.Trim());
            }
            catch
            {
                userid = 0;
            }
            //id就得到了,判斷資料庫裡面有沒有
            string s1 = string.Format("select ID from users where ID={0}", userid);
            //和資料庫建立起連接
            openDB();
            using (cmd = new SqlCommand(s1, con))
            {
                dr = cmd.ExecuteReader();
                //查詢有沒有數據
                if (dr.HasRows)
                {
                    //如果有,就執行刪除語句,得到一個s2
                    string s2 = string.Format("update Users set username='{0}' where ID={1}", TxtuUserName.Text.Trim(),userid);
                    dr.Dispose();
                    dr.Close();
                    using (cmd = new SqlCommand(s2, con))
                    {
                        cmd.ExecuteNonQuery();
                    }
                }
                else
                {
                    //沒有就
                    Response.Write("該用戶ID不存在!");
                }
            }
            BindUser();
        }


    }
}

3.Get傳值:跳轉頁面.cs頁面

       

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

namespace _20160520
{
    public partial class UserInfo : System.Web.UI.Page
    {
        private string conStr = ConfigurationManager.ConnectionStrings["mySchool"].ToString();
        //把這個字元串傳進去
       //SqlConnection con = new SqlConnection(conStr);
       SqlConnection con = null;//相當於是電話
       SqlCommand cmd = null;//執行sql語句
       SqlDataReader dr = null;//用於儲存查詢結果
       private void openDB()
       {
           con = new SqlConnection(conStr);
           con.Open();//和資料庫建立起了連接
           //我們單獨把這兩句話封裝起來直接調用就好
       }

        //private int _id = 0;
        //public int id
        //{
        //    get 
        //    {
        //        //return _userId; 
        //        //傳過來的id有可能為空,也有可能不是整數
        //        //它也有可能不是整數,我們就寫一個異常
        //        try
        //        {
        //            //判斷它是否為空?get的作用是屬性,屬性是判斷它的讀和寫,Request.QueryString["ID"]里的id要與Eval("ID")的一致
        //            //==nul等於空,就讓它等於0,不等於空,
        //            _id = Request.QueryString["ID"] == null ? 0 : Convert.ToInt32(Request.QueryString["ID"].ToString());
        //        }
        //        catch 
        //        {
        //            _id = 0;
        //        }
        //        return _id;//這樣就得到了傳過來的id
        //    }
        //    set { _id = value; }
        //}
       private int _id = 0;

       public int Id
       {
           get 
           {
               try
               {
                   _id = Request.QueryString["ID"] == null ? 0 : Convert.ToInt32(Request.QueryString["ID"].ToString());
               }
               catch
               {
                   _id = 0;
               }
               return _id;
           }
           set { _id = value; }
       }
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }

        //這樣就得到了傳過來的id,拼湊出來的字元串顯示在前端,更多使用這個GridView只能顯示表格的形式
            public string GetUserInfor()
            {
                //拼湊字元串需要引用命名空間using System.Text;
                StringBuilder sb = new StringBuilder();
                //先得到內容
                //判斷一下id是否>0,>0我們在拼湊
                if (Id > 0)
                {
                    sb.Append(@"<div class=""da"">");
                    sb.Append("<table>");
                    openDB();
                    string sql = string.Format("select * from users where ID={0}",Id);
                    using (cmd = new SqlCommand(sql, con))
                    {
                        using (dr = cmd.ExecuteReader())
                        {
                            //dr = cmd.ExecuteReader();
                            //對這裡面的內容進行讀數據,讀數據就要進行拼湊字元串
                            if (dr.Read())
                            {
                                //數據裡面的用戶名怎麼獲取到?
                                sb.Append(string.Format("<tr><td>用戶名:</td><td>{0}</td></tr>", dr["userName"].ToString()));
                                sb.Append(string.Format("<tr><td>密碼:</td><td>{0}</td></tr>", dr["PWD"].ToString()));
                                sb.Append(string.Format("<tr><td>姓名:</td><td>{0}</td></tr>", dr["loginname"].ToString()));
                                sb.Append(string.Format("<tr><td>QQ:</td><td>{0}</td></tr>", dr["qq"].ToString()));
                                sb.Append(string.Format("<tr><td>班級:</td><td>{0}</td></tr>", dr["classname"].ToString()));
                                sb.Append(string.Format("<tr><td>信息:</td><td>{0}</td></tr>", dr["information"].ToString()));
                            }
                        }
                    }
                        sb.Append("</table>");


                    sb.Append("</div>");
                }
                return sb.ToString();
            }
    }
}

4. 跳轉頁面前端頁面

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UserInfo.aspx.cs" Inherits="_20160520.UserInfo" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
           <%--後臺有個字元串怎麼顯示在前端?前端怎麼調用後臺頁面--%>
        <%=GetUserInfor() %>
    </div>
    </form>
</body>
</html>

效果顯示:

   


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 開發板上安裝嵌入式系統要比手機上簡潔很多,有很多擴展的介面,適合對程式進行測試,這裡所提及的是S3C6410開發板。它是由三星公司推出的一款低功耗/高性價比的RISC處理器。,其中包含強大的硬體加速器,還有集成MFC,還有先進的3D加速器,優化了外部介面。如下圖十OK6410開發板的模型圖,便於理解 ...
  • 一、DDNS簡介 DNS,功能變數名稱系統,是網際網路的一項服務,它作為將功能變數名稱和IP地址相互映射的一個分散式資料庫,能夠使人們更方便的訪問互聯網。 DDNS,動態功能變數名稱系統,是功能變數名稱系統(DNS)中的一種自動更新名稱伺服器內容的技術。在傳統的DNS中,功能變數名稱必須和固定的IP綁定,當IP變化時,必須手動更新IP與功能變數名稱 ...
  • Centos6.6 下載地址:thunder://QUFodHRwOi8vbGludXguemh1YW5neGl0b25nLmNvbTo4MDgvMjAxNTAxL0NlbnRPUy02LjYteDg2XzY0LWJpbi1EVkQxLmlzb1pa 1、首先要下載一個centos的iso鏡像,我是 ...
  • 不廢話,直接上如何利用Asp.NET操作XML文件,並對其屬性進行修改,剛開始的時候,是打算使用JS來控制生成XML文件的,但是最後卻是無法創建文件,讀取文件則沒有使用了 index.aspx 文件 index.aspx.cs文件 Command.cs 文件 UserEdit.aspx UserEd ...
  • 1、var 1、均是聲明動態類型的變數。 2、在編譯階段已經確定類型,在初始化的時候必須提供初始化的值。 3、無法作為方法參數類型,也無法作為返回值類型。 2、dynamic 1、均是聲明動態類型的變數。 2、運行時檢查類型,不存在語法類型,在初始化的時候可以不提供初始化的值。 3、反射時簡化代碼, ...
  • 1、通過Nuget下載CORS安裝包 2、在WebApiConfig.cs文件中註冊CORS 3、在全局文件啟用CORS支持 4、在控制器上添加頭 ...
  • 今天ModestMT.Zou發佈了DotnetSpider爬蟲第二章節,內容簡單明瞭,基本看懂了,於是想自己試試看,直接就拿博客園開刀了。 這裡有最基本的使用方式,本文章不介紹 [開源 .NET 跨平臺 數據採集 爬蟲框架: DotnetSpider] [二] 最基本,最自由的使用方式 這裡我已經從 ...
  • 本著簡潔直接,我們就直奔主題吧! 下麵是一個生成數字和字母隨機組合的驗證碼類源代碼: using System; using System.Drawing; using System.Drawing.Imaging; using System.Web.UI; using System.Drawing ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...