惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
Google Online Security Blog
Google Online Security Blog
月光博客
月光博客
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MongoDB | Blog
MongoDB | Blog
H
Help Net Security
The Cloudflare Blog
Blog — PlanetScale
Blog — PlanetScale
F
Full Disclosure
G
Google Developers Blog
罗磊的独立博客
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
A
About on SuperTechFans
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
GbyAI
GbyAI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
The Register - Security
The Register - Security
U
Unit 42
D
Docker
Martin Fowler
Martin Fowler
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
博客园_首页
Google DeepMind News
Google DeepMind News

博客园 - Bobby

SQL Top注意事项 asp.net回车提交表单 - Bobby - 博客园 C#关于值类型和引用类型 Asp.Net XML操作基类(修改,删除,新增,创建) 客户端全部选中或取消Repeater中的CheckBox - Bobby - 博客园 javascript技巧参考(转载) js倒计时关闭窗口&计算字数 - Bobby - 博客园 CSS控制GridView固定表头 - Bobby - 博客园 经典算法-C#四种排序算法 js设置调用cookie设置背景颜色 字号、颜色 js简繁转换代码 ASP.NET错误处理的方式(总结) ASP.NET错误处理和程序优化 学习SQL应知道的动态SQL语句基本语法 js宝典学习笔记【转载】 在b/s开发中经常用到的javaScript技术整理 Visual C#常用函数和方法集汇总 SQL SERVER 与ACCESS、EXCEL的数据转换 - Bobby 不被浏览器屏蔽的对联广告
项目中的代码
Bobby · 2007-06-07 · via 博客园 - Bobby

 1set ANSI_NULLS ON
 2set QUOTED_IDENTIFIER ON
 3go
 4
 5
 6-- =============================================
 7-- Author:        <bobby>
 8-- Create date: <2007-06-06>
 9-- Description:    <批量更新图书章节的编辑状态>
10-- =============================================
11ALTER PROCEDURE [dbo].[sp_Book_UpdateChapterAllEditorDo]
12    @BookID int,
13    @VolumeIDList nvarchar(2000),
14    @ChapterIDList nvarchar(2000),
15    @EditorDo char(1)
16AS
17declare @SQL nvarchar(2000)
18SET NOCOUNT ON
19
20set @SQL = 'UPDATE [dbo].[Book_Chapter] SET
21    EditorDo = '''+@EditorDo+'''
22WHERE
23    [BookID] = '+cast(@BookID as varchar)+' and VolumeID in ('+@VolumeIDList+') and ChapterID in ('+@ChapterIDList+')'
24--注意以上的数据类型转换和单引号
25print @SQL
26--注意这里加了括号,否则错误
27exec (@SQL)
28
29
30

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;

public partial class Writer_ModifyChapterInfo : WriterBasePage
{
    #region 窗体载入,定义两个公共变量传递卷和章的排序号
    public int volumeOrder;
    public int chapterOrder;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (WriterID == 0)
        { }
        if (!IsPostBack)
        {
            ddlBookList.DataSource = BookNameList;
            ddlBookList.DataTextField = "BookName";
            ddlBookList.DataValueField = "BookID";
            ddlBookList.DataBind();

            BindVolumeList();
            BindChapterList();
            BindChapterInfo();
            getOrder();
            showRbl();
        }
    }
   
    #endregion


    #region 更改选中的图书
    protected void ddlBookList_SelectedIndexChanged(object sender, EventArgs e)
    {
        BindVolumeList();
        BindChapterList();
        BindChapterInfo();
        btnSubmit.Enabled = true;
        showRbl();
    }
    #endregion
 

    #region 更改选中的卷
       protected void ddlVolumeList_SelectedIndexChanged(object sender, EventArgs e)
    {
       
        BindChapterList();
        BindChapterInfo();
        btnSubmit.Enabled = true;
       
        getOrder();
    }
    #endregion
 

    #region 更改选中的章节
    protected void ddlChapterList_SelectedIndexChanged(object sender, EventArgs e)
    {
        BindChapterInfo();
        btnSubmit.Enabled = true;

        getOrder();
    }

    #endregion


    #region 提交更新
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        int chapterID = Int32.Parse(ddlChapterList.SelectedValue);
        string chapterName = PageValidate.InputText(txtChapterName.Text, 20);
        string chapterContent = PageValidate.InputText(txtChapterContent.Text, 0);
        int wordCount = txtChapterContent.Text.Length;
        int bookID = Int32.Parse(ddlBookList.SelectedValue);
        int diffCount = wordCount - Int32.Parse(lblWordCount.Text);
        int volSelectID = Int32.Parse(ddlVolumeList.SelectedItem.Value);

        string chapterIDList = updateChapterEdit(); //得到章节的ID列表
        string volumeIDList = updateVolumeEdit();   //得到卷的ID列表
        //默认正常的显示在中文网
        if (rblShow.SelectedItem.Value != "1")
        {
            if (WriterService.UpdateChapter(chapterID, chapterName, chapterContent, wordCount, bookID, diffCount, "0", volSelectID.ToString(), chapterIDList, volumeIDList))
            {
                lblMessage.Text = "章节更新成功";
                btnSubmit.Enabled = false;
                BindChapterList();
                BindChapterInfo();
            }
            else
            {
                lblMessage.Text = "更新失败,请稍后重试";
            }

        }
        //编辑勾选了确认出版的选项 不在中文显示作品
        else if ((rblShow.Visible == false) && (rblShow.SelectedIndex == 1))
        {
            if (WriterService.UpdateChapter(chapterID, chapterName, chapterContent, wordCount, bookID, diffCount, "4", volSelectID.ToString(), chapterIDList, volumeIDList))
            {
                lblMessage.Text = "章节更新成功";
                btnSubmit.Enabled = false;
                BindChapterList();
                BindChapterInfo();
            }
            else
            {
                lblMessage.Text = "更新失败,请稍后重试";
            }
        }
        //作者勾选了不在中文网显示
        else
        {
            if (WriterService.UpdateChapter(chapterID, chapterName, chapterContent, wordCount, bookID, diffCount, "3", volSelectID.ToString(), chapterIDList, volumeIDList))
            {
                lblMessage.Text = "章节更新成功";
                btnSubmit.Enabled = false;
                BindChapterList();
                BindChapterInfo();
            }
            else
            {
                lblMessage.Text = "更新失败,请稍后重试";
            }
        }
    }
    #endregion


    #region 下拉框绑定卷名
    private void BindVolumeList()
    {
        ddlVolumeList.DataSource = WriterService.GetVolumeNameList(Int32.Parse(ddlBookList.SelectedValue));
        ddlVolumeList.DataTextField = "VolumeName";
        ddlVolumeList.DataValueField = "VolumeID";
        ddlVolumeList.DataBind();

        ddlVolumeOrder.DataSource = WriterService.GetVolumeNameList(Int32.Parse(ddlBookList.SelectedValue));
        ddlVolumeOrder.DataTextField = "VolumeOrder";
        ddlVolumeOrder.DataValueField = "VolumeID";
        ddlVolumeOrder.DataBind();

        if (string.IsNullOrEmpty(ddlVolumeList.SelectedValue))
        {
            Server.Transfer("~/Writer/NewChapter.aspx");
        }
    }

    #endregion


    #region 下拉框绑定章名
    private void BindChapterList()
    {
        ddlChapterList.DataSource = WriterService.GetChapterNameList(Int32.Parse(ddlVolumeList.SelectedValue));
        ddlChapterList.DataTextField = "ChapterName";
        ddlChapterList.DataValueField = "ChapterID";
        ddlChapterList.DataBind();


        ddlChapterOrder.DataSource = WriterService.GetChapterNameList(Int32.Parse(ddlVolumeList.SelectedValue));
        ddlChapterOrder.DataTextField = "ChapterOrder";
        ddlChapterOrder.DataValueField = "ChapterID";
        ddlChapterOrder.DataBind();

    }
    #endregion


    #region 绑定章节信息
    private void BindChapterInfo()
    {
        if (ddlChapterList.Items.Count > 0)
        {
            int chapterID = Int32.Parse(ddlChapterList.SelectedValue);
            DataSet ds = WriterService.GetChapterInfo(chapterID);

            txtChapterName.Text = ds.Tables[0].Rows[0]["ChapterName"].ToString();
            txtChapterContent.Text = ds.Tables[0].Rows[0]["ChapterContent"].ToString();
            lblWordCount.Text = ds.Tables[0].Rows[0]["WordCount"].ToString();
        }
    }
   
    #endregion


    #region 是否显示单选框控件
    private void showRbl()
    {
        int bookID = Int32.Parse(ddlBookList.SelectedItem.Value.ToString());
        int count = 0;
        EditorService.GetPublishFollowECount(bookID, out count);
        if (count != 0)
        {
            lblShow.Visible = true;
            rblShow.Visible = true;
        }
        else
        {
            lblShow.Visible = false;
            rblShow.Visible = false;
        }

        int fpCount = 0;
        EditorService.GetPublishF_PCount(bookID, out fpCount);
        if (fpCount != 0)
        {
            lblShow.Visible = false;
            rblShow.Visible = false;
            rblShow.SelectedIndex = 1;  //不显示                 
        }
    }

    #endregion


    #region 得到选中卷和章的排序号
    private void getOrder()
    {
        string bookID = ddlBookList.SelectedValue;
        string volumeID = ddlVolumeList.SelectedValue;
        string chapterID = ddlChapterList.SelectedValue;
        if (bookID.Length != 0 && volumeID.Length != 0 && chapterID.Length != 0)
        {
            volumeOrder = WriterService.GetVolumeOrder(Int32.Parse(ddlBookList.SelectedValue), Int32.Parse(ddlVolumeList.SelectedValue));
            chapterOrder = WriterService.GetChapterOrder(Int32.Parse(ddlBookList.SelectedValue), Int32.Parse(ddlVolumeList.SelectedValue), Int32.Parse(ddlChapterList.SelectedValue));
        }
        else
        {
            return;
        }
    }
    #endregion


    #region 选出章节的ID号列表
    private string updateChapterEdit()
    {
        //chapterOrder  选中的章的ORDER
        getOrder();
        int bookID = Int32.Parse(ddlBookList.SelectedValue);
        StringBuilder chaIDlist = new StringBuilder();

        int chaSelectID = Int32.Parse(ddlChapterList.SelectedItem.Value);   //确定选中章节的章编号   

        for (int j = 0; j < ddlChapterOrder.Items.Count; j++)
        {
            string chaOrder = ddlChapterOrder.Items[j].Text;    //章排序号
            string chaID = ddlChapterOrder.Items[j].Value;      //章号
            if (Int32.Parse(chaOrder) >= chapterOrder)        //比较选定的章编号,取出比其大的章编号
            {
                chaIDlist.Append(chaID).Append(",");
            }
        }
        string cCondition = chaIDlist.ToString();
        if ((cCondition.EndsWith(",")))
        {
            cCondition = cCondition.Substring(0, cCondition.Length - 1);
        }
        return cCondition;
    }

    #endregion


    #region 选出卷的ID号列表 
    private string updateVolumeEdit()
    {
        //volumeOrder   选中的卷的ORDER
        getOrder();
        int bookID = Int32.Parse(ddlBookList.SelectedValue);
        StringBuilder volIDlist = new StringBuilder();
        for (int i = 0; i < ddlVolumeOrder.Items.Count; i++)
        {
            string ddlvolOrder = ddlVolumeOrder.Items[i].Text;  //卷排序号
            string ddlvolBookID = ddlVolumeOrder.Items[i].Value;    //卷号

            if (volumeOrder < Int32.Parse(ddlvolOrder))   //比较选定的卷号,取出比其大的卷编号
            {
                volIDlist.Append(ddlvolBookID).Append(",");
            }           
        }

        string vCondition = volIDlist.ToString();

        if ((vCondition.EndsWith(",")))
        {
            vCondition = vCondition.Substring(0, vCondition.Length - 1);
        }
        return vCondition;
    }   
    #endregion  

  
}