Asp.Net:一般处理程序项目的增删改查

一、建立空网站

二、主页实现

1.为空网站创建实现主页页面一般处理程序 

2.详情页代码实现

(1)设置配置文件

<connectionStrings>
		<add name="MySchoolDB" connectionString="server=.;database=MySchool;uid=sa;pwd=123"/>
</connectionStrings>

(2)编码ProcessRequest 方法

public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/html";       //设置内容类型为HTML
        string str = ConfigurationManager.ConnectionStrings["MySchoolDB"].ConnectionString;  //数据库连接字符串

        StringBuilder sb = new StringBuilder();   //html 代码拼接
        sb.Append("<html><head></head><body><a href='AddScore.html'>添加</a>");   
        sb.Append("<table><tr><th>ScoreID</th><th>StudentNo</th><th>SubjectScore</th><th>操作</th></tr>");

        using (SqlConnection conn = new SqlConnection(str))   //创建数据库连接对象
        {
            conn.Open();   //打开数据库
            string strSql = @"Select              
	                            ScoreID,StudentNo,SubjectScore
                            from
	                            Score";
            using (SqlCommand cmd = new SqlCommand(strSql, conn))   //创建数据库操作对象
            {
                using (var reader = cmd.ExecuteReader())   //执行sql语句
                {
                    while (reader.Read())   //循环读取数据,并进行html拼接
                    {
                        sb.AppendFormat("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td><a href='ShowDetail.ashx?id={1}'>详情</a></td><td><a onclick='return confirm(\"是否删除?\")' href='Delete.ashx?id={0}'>删除</a></td> <td><a href='Edit.ashx?id={0}'>修改</a></td></tr>",
                            reader["ScoreID"],
                            reader["StudentNo"],
                            reader["SubjectScore"]);
                    }
                }

            }
        }
        sb.Append("</table>");
        sb.Append("</body></html>");

        context.Response.Write(sb.ToString());  //发送给浏览器显示
    }

实现效果

三、添加功能

 1.为空网站创建实现添加页面一般处理程序 

2.代码实现ProcessReques方法

public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/html";
        //获取页面数据

        int scoreID = int.Parse(context.Request["ScoreID"]);
        string studentNo = context.Request["StudentNo"].ToString();
        int courseID = int.Parse(context.Request["SubjectScore"]);
        int subjectScore = int.Parse(context.Request["SubjectScore"]);
        DateTime examDate = DateTime.Parse(context.Request["ExamDate"]);
        //将数据插入数据库
        string constr = ConfigurationManager.ConnectionStrings["MySchoolDB"].ConnectionString;
        string sqlStr = @"Insert into Score values(@ScoreID,@StudentNo,@CourseID,@SubjectScore,@ExamDate)";
        SqlParameter[] par =
        {
                new SqlParameter("@ScoreID",SqlDbType.Int){Value=scoreID},
                new SqlParameter("@StudentNo",SqlDbType.NVarChar,64){Value=studentNo},
                new SqlParameter("@CourseID",SqlDbType.Int){Value=courseID},
                new SqlParameter("@SubjectScore",SqlDbType.Int){Value=subjectScore},
                new SqlParameter("@ExamDate",SqlDbType.DateTime){Value=examDate}
        };

        using (SqlConnection conn = new SqlConnection(constr))
        {
            using (SqlCommand comm = new SqlCommand(sqlStr, conn))
            {
                comm.CommandType = CommandType.Text;
                comm.Parameters.AddRange(par);
                conn.Open();
                int count = comm.ExecuteNonQuery();
            }
        }
    

        //插入成功后,跳转到主页面
        context.Response.Redirect("HomepageHandler.ashx");
    }

四、详情功能实现

1. 为空网站创建实现详情页面一般处理程序 

2.代码实现

(1)ProcessRequest方法实现

 public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/html";
        string idStr = context.Request.QueryString["id"]; //难当前id
        int id = int.Parse(idStr);
        string str = ConfigurationManager.ConnectionStrings["MySchoolDB"].ConnectionString;
        string sqlStr = @"Select
	                        StudentNo,StudentName,GradeID
                        from
	                        Student
                        where
	                        StudentNo=@id";
        StringBuilder sb = new StringBuilder();
        using (SqlDataAdapter adapter = new SqlDataAdapter(sqlStr, str))
        {
            adapter.SelectCommand.Parameters.Add("@id", id); //传递参数
            DataTable td = new DataTable();
            adapter.Fill(td);
            sb.AppendFormat("<tr><td>StudentNo:</td><td>{0}</td></tr>", td.Rows[0]["StudentNo"]);
            sb.AppendFormat("<tr><td>StudentName:</td><td>{0}</td></tr>", td.Rows[0]["StudentName"]);
            sb.AppendFormat("<tr><td>GradeID:</td><td>{0}</td></tr>", td.Rows[0]["GradeID"]);
        }

        string path = context.Request.MapPath("/ShowDetilTemp.html");  //把相对路径转成磁盘上的绝对路径
        string textTemp = File.ReadAllText(path);  //通过绝对路径读取html文件
        string result = textTemp.Replace("@strBody", sb.ToString());  //替换        
        context.Response.Write(result);
    }

(2)html 代码实现

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <table>
        @strBody
    </table>
</body>
</html>

3.效果

五、删除功能

1. 为空网站创建实现删除页面一般处理程序 

2.代码实现

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        int id = int.Parse(context.Request["id"]);
        string str = ConfigurationManager.ConnectionStrings["MySchoolDB"].ConnectionString;
        using (SqlConnection conn = new SqlConnection(str))
        {
            conn.Open();
            string strSql = @"delete from Score where ScoreID=@id";
            using (SqlCommand cmd = new SqlCommand(strSql, conn))
            {
                cmd.Parameters.Add(new SqlParameter("@id", id));
                int rows = cmd.ExecuteNonQuery();
                if (rows>0)
                {
                    context.Response.Redirect("DemoHandler.ashx");
                }
                else
                {
                    context.Response.Write("删除失败");
                }

            }
        }
    }

五、修改功能

1. 为空网站创建实现修改页面一般处理程序 

2.代码实现

(1)ProcessRequest方法实现

   public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/html";

        string idStr = context.Request.QueryString["id"]; //难当前id
        int id = int.Parse(idStr);
        string str = ConfigurationManager.ConnectionStrings["MySchoolDB"].ConnectionString;
        string strSql = @"Select
	                            ScoreID,StudentNo,SubjectScore
                            from
	                            Score
                            where
	                            ScoreID=@id";
        StringBuilder sb = new StringBuilder();
        using (SqlDataAdapter adapter = new SqlDataAdapter(strSql, str))
        {
            adapter.SelectCommand.Parameters.Add("@id", id); //传递参数
            DataTable dt = new DataTable();
            adapter.Fill(dt);
            string strResult = File.ReadAllText(context.Request.MapPath("EditTemp.html"));
            strResult = strResult.Replace("@ScoreID", dt.Rows[0]["ScoreID"].ToString());
            strResult = strResult.Replace("@StudentNo", dt.Rows[0]["StudentNo"].ToString());
            strResult = strResult.Replace("@SubjectScore", dt.Rows[0]["SubjectScore"].ToString());
            context.Response.Write(strResult);

        }
    }

(2)html实现

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <form action="/ProcessEdit.ashx" method="post">
        <input type="hidden" name="ScoreID" value="@ScoreID" />
        <table>
            <!--<tr>
                <td>ScoreID	</td>
                <td>
                    <input type="text" name="ScoreID" value="@ScoreID" />
                </td>
            </tr>-->
            <tr>
                <td>StudentNo</td>
                <td>
                    <input type="text" name="StudentNo" value="@StudentNo" disabled="disabled" />
                </td>
            </tr>
            <tr>
                <td>SubjectScore</td>
                <td>
                    <input type="text" name="SubjectScore" value="@SubjectScore" />
                </td>
            </tr>
            <tr>
                <td>
                    <input type="submit" value="提交" />
                </td>
            </tr>
        </table>
    </form>
</body>
</html>

ASP NET精彩编程百例 pdf 学习ASP NET的必看书籍 讲述了100个ASp NET实例的来笼去脉 由这些实例扩展出许多值得学习的ASP NET技巧 是您学习ASP NET的必看知识 ASP NET是微软.NET战略中的一个重要成员 除了可以使用Visual C# VB.NET VisualC++ NET JScript.NET等语言编写外 还可以使用第三方的.NET接口 如COBOL.NET Perl.NET等 进行编写 本书通过100个精彩实例 由浅入深介绍了ASP NET网络程序设计的编程方法与实用技巧 为了方便读者学习与深入理解ASP NET 本书将这100 个实例分为4篇 即基础编程实例 中级编程实例 高级编程实例与混合编程实例 在每个实例中 除了介绍ASP NET中所提供的基础知识点及编程技巧外 还介绍了ASP NET在网络编程 图形编程 多媒体编程 Mobile 移动通信 等方面的重要应用及开发技术 本书附赠一张光盘 其中包括全部100个实例源代码及可执行文件 详细内容请参见光盘中的“本书配套光盘说明.txt” 本书体系结构清晰 解释说明详尽 开发实例典型 适合于计算机编程用户 网络用户及对ASP NET感兴趣的用户阅读 也可作为ASP NET培训参考书 书籍目录: 第1篇ASP NET基础编程实例 实例1一个HTML化的ASP NET程序 实例2ASP+WebForms广告轮换控制过程 实例3驱动器列表应用 实例4列出当前盘上目录和文件 实例5使用“文件预览”显示文件夹信息 实例6使用递归循环以显示目录列表 实例7在ASP 7NET中随意创建图形信息 实例8在ASP 8NET中显示事件日志记录 1 实例9在ASP 9NET中显示事件日志记录 2 实例10在ASP 10NET中使用DataGrid分页 实例11在ASP 11NET访问Excel2000 XP文件 实例12显示当前浏览器头信息 实例13利用ASP NET获取主机名和IP地址 实例14由域名获取其IP地址 实例15由IP地址获得其域名 实例16ASP NET中的正则表达式应用 实例17主机远程控制与探测应用 实例18ASP NET控件———AdRotator应用 实例19ASP NET日历程序 实例20查看主机内存情况 实例21ASP NET简易应用程序“Hello 22World ” 实例22读取Config 22Web配置文件 实例23显示BrowseCaps配置段内容 实例24写入文件操作与应用 实例25文件读操作及应用 实例26文件删除与应用 实例27ASP NET中异常处理及其应用 实例28AutoPostBack技术及其应用 实例29用户合法性验证与应用 实例30ASP 30NET列表框应用 实例31Calendar控件操作与应用 实例32用户操作验证与应用 实例33CompareValidator服务器比较控件操作与应用 实例34CustomValidator控件操作与应用 实例35服务器端控件ValidationSummary应用操作 实例36HtmlTable控件操作与应用 实例37在HTML控件中运用样式 实例38在Web服务器控件中运用样式 第2篇ASP NET中级编程实例 第3篇ASP NET高级编程实例 本站提供的ASP NET编程百例 PDF扫描版 附源代码(vb net)资源来源互联网 版权归该下载资源的合法拥有者所有 收起信息返回顶部
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值