• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

    動態(tài)組合SQL語句方式實現(xiàn)批量更新的實例

    來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:41:30
    文檔

    動態(tài)組合SQL語句方式實現(xiàn)批量更新的實例

    動態(tài)組合SQL語句方式實現(xiàn)批量更新的實例: Default.aspx 代碼如下:<%@ Page Language=C# AutoEventWireup=true CodeFile=Index.aspx.cs Inherits=Index %> <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional/
    推薦度:
    導(dǎo)讀動態(tài)組合SQL語句方式實現(xiàn)批量更新的實例: Default.aspx 代碼如下:<%@ Page Language=C# AutoEventWireup=true CodeFile=Index.aspx.cs Inherits=Index %> <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional/

    Default.aspx

    代碼如下:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx.cs" Inherits="Index" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>供求信息網(wǎng)審核發(fā)布信息</title>
    </head>
    <body class="Font">
        <form id="form1" runat="server">
        <div style="text-align: left" align="left"><asp:Panel ID="Panel2" runat="server">
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
                OnRowDataBound="GridView1_RowDataBound"
                OnSelectedIndexChanging="GridView1_SelectedIndexChanging" Font-Size="9pt"
                AllowPaging="True" EmptyDataText="沒有相關(guān)數(shù)據(jù)可以顯示!"
                OnPageIndexChanging="GridView1_PageIndexChanging" CellPadding="4"
                ForeColor="#333333" GridLines="None" DataKeyNames="id">
                    <Columns>
                         <asp:TemplateField>
                                    <ItemTemplate>
                                        <asp:CheckBox ID="cbSingleOrMore" runat="server" />
                                    </ItemTemplate>
                          </asp:TemplateField>
                        <asp:BoundField DataField="id" HeaderText="信息ID" />
                        <asp:BoundField DataField="name" HeaderText="信息主題" />
                        <asp:BoundField DataField="type" HeaderText="信息分類" />
                        <asp:BoundField DataField="content" HeaderText="發(fā)布內(nèi)容" />
                        <asp:BoundField DataField="userName" HeaderText="發(fā)布人" />
                        <asp:BoundField DataField="lineMan" HeaderText="聯(lián)系人" />
                        <asp:BoundField DataField="issueDate" HeaderText="發(fā)布時間"
                            DataFormatString="{0:d}" />
                    </Columns>
                    <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
                    <RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
                    <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
                    <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Right" />
                    <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
                    <AlternatingRowStyle BackColor="White" />
                </asp:GridView>
            </asp:Panel>
                        <asp:CheckBox ID="cbAll" runat="server" AutoPostBack="True"
                Font-Size="9pt" OnCheckedChanged="cbAll_CheckedChanged"
                            Text="全選/反選" />

            <asp:Button ID="btnUpdateTime" runat="server" onclick="btnUpdateTime_Click"
                Text="更新發(fā)布時間" />

        </div>
        </form>
    </body>
    </html>

    Default.aspx.cs

    代碼如下:

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    using System.Text;
    using System.Data.SqlClient;

    public partial class Index : System.Web.UI.Page
    {
        SqlConnection sqlcon;
        string strCon = ConfigurationManager.AppSettings["conStr"];
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.GV_DataBind();
            }

        }
        public void GV_DataBind()
        {
            string sqlstr = "select * from tb_inf";
            sqlcon = new SqlConnection(strCon);
            SqlDataAdapter da = new SqlDataAdapter(sqlstr, sqlcon);
            DataSet ds = new DataSet();
            sqlcon.Open();
            da.Fill(ds, "tb_inf");
            sqlcon.Close();
            this.GridView1.DataSource = ds;
            this.GridView1.DataKeyNames = new string[] { "id" };
            this.GridView1.DataBind();
            if (GridView1.Rows.Count > 0)
            {
                return;//有數(shù)據(jù),不要處理
            }
            else//顯示表頭并顯示沒有數(shù)據(jù)的提示信息
            {
                StrHelper.GridViewHeader(GridView1);
            }
        }
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                string gIntro = e.Row.Cells[4].Text;
                e.Row.Cells[4].Text = StrHelper.GetFirstString(gIntro, 12);
            }
        }
        protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
        {
            string id = this.GridView1.DataKeys[e.NewSelectedIndex].Value.ToString();
            sqlcon = new SqlConnection(strCon);
            SqlCommand com = new SqlCommand("select [check] from tb_inf where id='" + id + "'", sqlcon);
            sqlcon.Open();
            string count = Convert.ToString(com.ExecuteScalar());
            if (count == "False")
            {
                count = "1";
            }
            else
            {
                count = "0";
            }
            com.CommandText = "update tb_inf set [check]=" + count + " where id=" + id;
            com.ExecuteNonQuery();
            sqlcon.Close();
            this.GV_DataBind();
        }
        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            this.GridView1.PageIndex = e.NewPageIndex;
            this.GV_DataBind();
        }
        protected void cbAll_CheckedChanged(object sender, EventArgs e)
        {
            for (int i = 0; i <= GridView1.Rows.Count - 1; i++)//遍歷
            {
                CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("cbSingleOrMore");
                if (cbAll.Checked == true)
                {
                    cbox.Checked = true;
                }
                else
                {
                    cbox.Checked = false;
                }
            }
        }

        protected void btnUpdateTime_Click(object sender, EventArgs e)
        {
            StringBuilder builder = new StringBuilder();
            int i = 0;
            foreach (GridViewRow row in this.GridView1.Rows)//循環(huán)遍歷GridView控件中行,拼裝IN子句
            {
                CheckBox cbox = row.FindControl("cbSingleOrMore") as CheckBox;
                if (cbox.Checked)//判斷復(fù)選框是否被選中
                {
                    //當(dāng)數(shù)據(jù)行中的復(fù)選框被選中時,即將該行記錄的主鍵值放入IN子句中
                    builder.AppendFormat("'{0}',", this.GridView1.DataKeys[row.RowIndex].Value.ToString());
                    i++;
                    continue;
                }
                continue;
            }
            if (builder.ToString().Length == 0)//當(dāng)IN子句中沒有任何數(shù)據(jù)行,則彈出提示
            {
                StrHelper.Alert("沒有選中任何數(shù)據(jù)行,請重新選擇!");
                return;
            }
            //移除StringBuilder對象中的最后一個“,”
            builder.Remove(builder.ToString().LastIndexOf(","), 1);
            //拼裝SQL語句
            string SqlBuilderCopy = string.Format("Update tb_inf set issueDate='{0}' WHERE id IN ({1})", DateTime.Now.ToString(), builder.ToString());
            sqlcon = new SqlConnection(strCon);//創(chuàng)建數(shù)據(jù)庫連接
            SqlCommand sqlcom;//創(chuàng)建命令對象變量
            int result = 0;
            if (sqlcon.State.Equals(ConnectionState.Closed))
                sqlcon.Open();//打開數(shù)據(jù)庫連接
            sqlcom = new SqlCommand(SqlBuilderCopy, sqlcon);
            SqlTransaction tran = sqlcon.BeginTransaction();//實例化事務(wù),注意實例化事務(wù)必須在數(shù)據(jù)庫連接開啟狀態(tài)下
            sqlcom.Transaction = tran;//將命令對象與連接對象關(guān)聯(lián)
            try
            {
                result = sqlcom.ExecuteNonQuery();//接收影響的行數(shù)
                tran.Commit();//提交事務(wù)
            }
            catch (SqlException ex)
            {
                StrHelper.Alert(string.Format("SQL語句發(fā)生了異常,異常如下所示:\n{0}", ex.Message));
                tran.Rollback();//出現(xiàn)異常,即回滾事務(wù),防止出現(xiàn)臟數(shù)據(jù)
                return;
            }
            finally
            {
                sqlcon.Close();
            }
            if (result == i)//判斷影響行數(shù)是否等于選中的數(shù)據(jù)行
            {
                StrHelper.Alert("數(shù)據(jù)更新成功!");
            }
            else
            {
                StrHelper.Alert("數(shù)據(jù)更新失敗,事務(wù)已回滾!");
            }
            GV_DataBind();//重新綁定控件數(shù)據(jù)
            return;
        }
    }

    StrHelper.cs

    代碼如下:

    using System;
    using System.Data;
    using System.Configuration;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    //引入如下命名空間
    using System.Text.RegularExpressions;
    using System.Text;

    /// <summary>
    ///StrHelper 的摘要說明
    /// </summary>
    public class StrHelper
    {
        public StrHelper(){}
        /// <summary>
        /// 截取字符串函數(shù)
        /// </summary>
        /// <param name="str">所要截取的字符串</param>
        /// <param name="num">截取字符串的長度</param>
        /// <returns></returns>
        static public string GetSubString(string str, int num)
        {
            #region
            return (str.Length > num) ? str.Substring(0, num) + "..." : str;
            #endregion
        }
        /// <summary>
        /// 截取字符串優(yōu)化版
        /// </summary>
        /// <param name="stringToSub">所要截取的字符串</param>
        /// <param name="length">截取字符串的長度</param>
        /// <returns></returns>
        public static string GetFirstString(string stringToSub, int length)
        {
            #region
            Regex regex = new Regex("[\u4e00-\u9fa5]+", RegexOptions.Compiled);
            char[] stringChar = stringToSub.ToCharArray();
            StringBuilder sb = new StringBuilder();
            int nLength = 0;
            bool isCut = false;
            for (int i = 0; i < stringChar.Length; i++)
            {
                if (regex.IsMatch((stringChar[i]).ToString()))//regex.IsMatch指示正則表達(dá)式在輸入字符串中是否找到匹配項
                {
                    sb.Append(stringChar[i]);//將信息追加到當(dāng)前 StringBuilder 的結(jié)尾
                    nLength += 2;
                }
                else
                {
                    sb.Append(stringChar[i]);
                    nLength = nLength + 1;
                }
                if (nLength > length)//替換字符串
                {
                    isCut = true;
                    break;
                }
            }
            if (isCut)
                return sb.ToString() + "...";
            else
                return sb.ToString();
            #endregion
        }
        /// 彈出JavaScript小窗口
        /// </summary>
        /// <param name="js">窗口信息</param>
        public static void Alert(string message)
        {
            #region
            string js = @"<Script language='JavaScript'>
                        alert('" + message + "');</Script>";
            HttpContext.Current.Response.Write(js);

            #endregion
        }
        public static void GridViewHeader(GridView gdv)//顯示表頭并顯示沒有數(shù)據(jù)的提示信息
        {
            //表頭的設(shè)置
            GridViewRow row = new GridViewRow(-1, -1, DataControlRowType.EmptyDataRow, DataControlRowState.Normal);
            foreach (DataControlField field in gdv.Columns)
            {
                TableCell cell = new TableCell();
                cell.Text = field.HeaderText;
                cell.Width = field.HeaderStyle.Width;
                cell.Height = field.HeaderStyle.Height;
                cell.ForeColor = field.HeaderStyle.ForeColor;
                cell.Font.Size = field.HeaderStyle.Font.Size;
                cell.Font.Bold = field.HeaderStyle.Font.Bold;
                cell.Font.Name = field.HeaderStyle.Font.Name;
                cell.Font.Strikeout = field.HeaderStyle.Font.Strikeout;
                cell.Font.Underline = field.HeaderStyle.Font.Underline;
                cell.BackColor = field.HeaderStyle.BackColor;
                cell.VerticalAlign = field.HeaderStyle.VerticalAlign;
                cell.HorizontalAlign = field.HeaderStyle.HorizontalAlign;
                cell.CssClass = field.HeaderStyle.CssClass;
                cell.BorderColor = field.HeaderStyle.BorderColor;
                cell.BorderStyle = field.HeaderStyle.BorderStyle;
                cell.BorderWidth = field.HeaderStyle.BorderWidth;
                row.Cells.Add(cell);
            }
            TableItemStyle headStyle = gdv.HeaderStyle;
            TableItemStyle emptyStyle = gdv.EmptyDataRowStyle;
            emptyStyle.Width = headStyle.Width;
            emptyStyle.Height = headStyle.Height;
            emptyStyle.ForeColor = headStyle.ForeColor;
            emptyStyle.Font.Size = headStyle.Font.Size;
            emptyStyle.Font.Bold = headStyle.Font.Bold;
            emptyStyle.Font.Name = headStyle.Font.Name;
            emptyStyle.Font.Strikeout = headStyle.Font.Strikeout;
            emptyStyle.Font.Underline = headStyle.Font.Underline;
            emptyStyle.BackColor = headStyle.BackColor;
            emptyStyle.VerticalAlign = headStyle.VerticalAlign;
            emptyStyle.HorizontalAlign = headStyle.HorizontalAlign;
            emptyStyle.CssClass = headStyle.CssClass;
            emptyStyle.BorderColor = headStyle.BorderColor;
            emptyStyle.BorderStyle = headStyle.BorderStyle;
            emptyStyle.BorderWidth = headStyle.BorderWidth;
            //空白行的設(shè)置
            GridViewRow row1 = new GridViewRow(0, -1, DataControlRowType.EmptyDataRow, DataControlRowState.Normal);
            TableCell cell1 = new TableCell();
            cell1.Text = "沒有相關(guān)數(shù)據(jù)可以顯示!";
            cell1.BackColor = System.Drawing.Color.White;
            row1.Cells.Add(cell1);
            cell1.ColumnSpan = 6;//合并列
            if (gdv.Controls.Count == 0)
            {
                gdv.Page.Response.Write("<script language='javascript'>alert('必須在初始化表格類之前執(zhí)行DataBind方法并設(shè)置EmptyDataText屬性不為空!');</script>");
            }
            else
            {
                gdv.Controls[0].Controls.Clear();
                gdv.Controls[0].Controls.AddAt(0, row);
                gdv.Controls[0].Controls.AddAt(1, row1);
            }
        }
    }

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    動態(tài)組合SQL語句方式實現(xiàn)批量更新的實例

    動態(tài)組合SQL語句方式實現(xiàn)批量更新的實例: Default.aspx 代碼如下:<%@ Page Language=C# AutoEventWireup=true CodeFile=Index.aspx.cs Inherits=Index %> <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional/
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 91亚洲精品麻豆| 久久久久久极精品久久久| 国产精品无码不卡一区二区三区 | 日韩精品乱码AV一区二区| 国内精品久久久久久久97牛牛| 国产成人精品久久亚洲高清不卡 | 亚洲AV无码成人精品区蜜桃| 国产在线观看一区二区三区精品 | 亚洲精品国产av成拍色拍| 国产AV国片精品一区二区| 国产精品久久精品| 欧美亚洲色综久久精品国产| 日韩亚洲精品福利| 国产亚洲精品精品国产亚洲综合 | 久久免费精品一区二区| 国产精品白浆在线观看免费| 最新在线精品国自av| 亚洲国产91精品无码专区| 久久99热这里只有精品国产| 国产乱子伦精品免费视频| 国产精品女人呻吟在线观看| 亚洲国产精品lv| 中文字幕精品一区二区日本| 亚洲国产精品久久久久网站| 久久精品国产欧美日韩| 777被窝午夜精品影院| 久久福利青草精品资源站免费 | 国产精品综合专区中文字幕免费播放 | 国产精品麻豆高清在线观看| 国产伦精品一区二区三区| 日韩精品久久久久久免费| 亚洲国产精品SSS在线观看AV| 亚洲精品无码成人片在线观看| 午夜一级日韩精品制服诱惑我们这边 | 久久丝袜精品中文字幕| 免费精品视频在线| 国产精品夜色视频一级区| 精品成人一区二区三区四区| 国产在AJ精品| 亚洲精品tv久久久久久久久久| 亚洲AⅤ永久无码精品AA|