1,本实例是新闻发布系统,采用三层架构,执行操作全部使用存储过程,实现添加新闻,删除新闻,查看新闻,修改新闻。并且最后用存储过程实现分页公共。本实例在vs2010中能够完整运行,以下是具体实现:


2 数据设计和存储过程的实现

数据库内容:

数据库设计和已创建的存储过程:

具体存储过程:

1添加新闻信息存储过程:

View Code

 1 USE [Blogs]
 2 GO
 3 /****** Object:  StoredProcedure [dbo].[AddNews]    Script Date: 02/26/2013 13:42:45 ******/
 4 SET ANSI_NULLS ON
 5 GO
 6 SET QUOTED_IDENTIFIER ON
 7 GO
 8
 9 -- =============================================
10 -- Author:        白宁超
11 -- Create date: 2013-2-24 10:08:20
12 -- Description:    添加新闻
13 -- =============================================
14 ALTER PROCEDURE [dbo].[AddNews]
15     @n_name varchar(50),
16     @n_class varchar(50),
17     @n_auter varchar(50),
18     @n_time datetime,
19     @n_content nvarchar(max),
20     @id int output
21 AS
22 BEGIN
23     insert into News values(@n_name,@n_class,@n_auter,@n_time,@n_content)
24     select @id=MAX(n_id) from News
25 END

2删除新闻信息存储过程

View Code

USE [Blogs]
GO
/****** Object:  StoredProcedure [dbo].[DeleteNews]    Script Date: 02/26/2013 13:44:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO-- =============================================
-- Author:        白宁超
-- Create date: 2013-2-24 10:47:22
-- Description:    删除新闻
-- =============================================
ALTER PROCEDURE [dbo].[DeleteNews] @id int
AS
BEGINdelete News where n_id=@idselect * from News
END

3修改加新闻信息存储过程

View Code

USE [Blogs]
GO
/****** Object:  StoredProcedure [dbo].[UpdateNews]    Script Date: 02/26/2013 13:45:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO-- =============================================
-- Author:        白宁超
-- Create date: 2013-2-24 10:30:34
-- Description:    修改新闻信息
-- =============================================
ALTER PROCEDURE [dbo].[UpdateNews] @n_name varchar(50),@n_class varchar(50),@n_auter varchar(50),@n_time datetime,@n_content nvarchar(max),@id int
AS
BEGINupdate News set n_name=@n_name,n_class=@n_class,n_auter=@n_auter,n_time=@n_time,n_content=@n_contentwhere n_id=@id select * from News where n_id=@id
END

4查看新闻信息存储过程

View Code

USE [Blogs]
GO
/****** Object:  StoredProcedure [dbo].[SelectNews]    Script Date: 02/26/2013 13:46:02 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO-- =============================================
-- Author:        白宁超
-- Create date: 2013-2-24 10:40:33
-- Description:    查看新闻信息
-- =============================================
ALTER PROCEDURE [dbo].[SelectNews] AS
BEGINselect * from News
END

5新闻信息分页存储过程

View Code

USE [Blogs]
GO
/****** Object:  StoredProcedure [dbo].[GetDataByIndex]    Script Date: 02/26/2013 13:46:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO-- =============================================
-- Author:        白宁超
-- Create date: 2013-2-24 17:05:23
-- Description:    实现分页功能
-- =============================================
ALTER PROCEDURE [dbo].[GetDataByIndex]@pageindex int,@pagecount int output
AS
BEGINdeclare @sql nvarchar(1000)declare @Pagec intset @sql='select top 5 * from News where n_id not in (select top '+CAST(@pageindex*5 as nvarchar(10))+' n_id from News)'select @pagecount=COUNT(*) from Newsselect @pagec = COUNT(*) from News set @pagecount = (@pagec+9)/5exec (@sql)
END


2,vs2010中对存储过程的调用

运行整体效果:

前台代码:

View Code

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="prodemo.WebForm1" %><!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></title>
</head>
<body><form id="form1" runat="server"><br /><asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Height="230px" Width="706px"><Columns><asp:BoundField DataField="n_id" HeaderText="编号" /><asp:BoundField DataField="n_name" HeaderText="新闻题目" /><asp:BoundField DataField="n_class" HeaderText="新闻类别" /><asp:BoundField DataField="n_auter" HeaderText="新闻作者" /><asp:BoundField DataField="n_time" HeaderText="发布时间" /><asp:BoundField DataField="n_content" HeaderText="新闻内容" /></Columns></asp:GridView><table><tr><td><asp:LinkButton ID="LinkButton1" runat="server" οnclick="LinkButton1_Click" >首页</asp:LinkButton></td><td><asp:TextBox ID="TextBox7" runat="server" Width="29px"></asp:TextBox></td><td><asp:LinkButton ID="LinkButton5" runat="server" οnclick="LinkButton5_Click" >GO</asp:LinkButton></td><td><asp:Label ID="Label1" runat="server" Text="第"></asp:Label></td><td><asp:Label ID="index" runat="server" Text="1"></asp:Label></td><td><asp:Label ID="Label3" runat="server" Text="页"></asp:Label></td><td><asp:Label ID="Label2" runat="server" Text="共"></asp:Label></td><td><asp:Label ID="labcount" runat="server" Text=""></asp:Label></td><td><asp:Label ID="Label5" runat="server" Text="页"></asp:Label></td><td><asp:LinkButton ID="LinkButton2" runat="server" οnclick="LinkButton2_Click" >上一页</asp:LinkButton></td><td><asp:LinkButton ID="LinkButton3" runat="server" οnclick="LinkButton3_Click" >下一页</asp:LinkButton></td><td><asp:LinkButton ID="LinkButton4" runat="server" οnclick="LinkButton4_Click" >尾页</asp:LinkButton></td></tr></table><br /><hr style=" font-weight:bolder; background-color:Red"><br /><asp:TextBox ID="TextBox2" runat="server" Height="27px" Width="231px"></asp:TextBox><asp:DropDownList ID="DropDownList1" runat="server" Height="17px" Width="151px"><asp:ListItem>娱乐新闻</asp:ListItem><asp:ListItem>时政新闻</asp:ListItem><asp:ListItem>军事新闻</asp:ListItem></asp:DropDownList><asp:TextBox ID="TextBox3" runat="server" Height="21px" Width="207px" ></asp:TextBox><br /><br /><asp:TextBox ID="TextBox4" runat="server" Height="65px" TextMode="MultiLine" Width="646px"></asp:TextBox><asp:Button ID="Button2" runat="server" Text="添加" οnclick="Button2_Click" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><asp:TextBox ID="TextBox5" runat="server" Height="21px" Width="66px"></asp:TextBox>&nbsp;&nbsp;<asp:Button ID="Button3" runat="server" Text="修改" οnclick="Button3_Click" /><p><asp:TextBox ID="TextBox6" runat="server" Height="21px" Width="66px"></asp:TextBox>&nbsp;&nbsp;&nbsp;<asp:Button ID="Button4" runat="server" Text="删除" οnclick="Button4_Click" /></p></form>
</body>
</html>

后台代码:
1三层架构实现,创建ui层prodemo,model层,和DAl层。然后dal对model引用,ui对dal引用。完成效果图如下:

删除信息DAl数据层代码:

View Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Data;namespace DAL
{public class DeleteNews{public bool DALDeleteNews(Model.SelectNews model){SqlConnection con = new SqlConnection("server=.;database=Blogs;integrated security=true");SqlCommand cmd = new SqlCommand("DeleteNews", con);con.Open();cmd.CommandType = CommandType.StoredProcedure;cmd.Parameters.Add("@id", SqlDbType.Int).Value = model.id;int i = cmd.ExecuteNonQuery();if (i > 0){return true;}else{return false;}}}
}

ui层对dal层删除信息操作:

View Code

 /// <summary>/// 删除信息/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void Button4_Click(object sender, EventArgs e){DAL.DeleteNews ddn = new DAL.DeleteNews();Model.SelectNews msn = new Model.SelectNews();msn.id = Convert.ToInt32(TextBox6.Text);bool ds = ddn.DALDeleteNews(msn);if (ds == true){BDSelectNews();}else{BDSelectNews();}}


以下查看/修改/添加信息与删除信息类似,仅显示ui层操作代码如下:

View Code

  /// <summary>/// 查看信息/// </summary>public void BDSelectNews(){DAL.Select das = new DAL.Select();DataSet ds = das.DALSelectNews();GridView1.DataSource = ds;GridView1.DataBind();}/// <summary>/// 添加信息/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void Button2_Click(object sender, EventArgs e){DAL.AddNews dan = new DAL.AddNews();Model.SelectNews msn = new Model.SelectNews();msn.name = TextBox2.Text;msn.myclass = DropDownList1.SelectedValue;msn.auter = TextBox3.Text;msn.time = DateTime.Now;msn.content = TextBox4.Text;bool ds = dan.DALAddNews(msn);if (ds == true){BDSelectNews();}else{BDSelectNews();}}/// <summary>/// 更新信息/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void Button3_Click(object sender, EventArgs e){DAL.updateNews dun = new DAL.updateNews();Model.SelectNews msn = new Model.SelectNews();msn.id = Convert.ToInt32(TextBox5.Text);msn.name = TextBox2.Text;msn.myclass = DropDownList1.SelectedValue;msn.auter = TextBox3.Text;msn.time = DateTime.Now;msn.content = TextBox4.Text;bool ds = dun.DALUpdateNews(msn);if (ds == true){BDSelectNews();}else{BDSelectNews();}}/// <summary>/// 删除信息/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void Button4_Click(object sender, EventArgs e){DAL.DeleteNews ddn = new DAL.DeleteNews();Model.SelectNews msn = new Model.SelectNews();msn.id = Convert.ToInt32(TextBox6.Text);bool ds = ddn.DALDeleteNews(msn);if (ds == true){BDSelectNews();}else{BDSelectNews();}}


以下是对分页的执行:

View Code

 /// <summary>/// 通用分页方法/// </summary>/// <param name="ide">页数参数</param>/// <returns></returns>public DataSet  bd(int ide){using (SqlConnection con = new SqlConnection("server=.;database=Blogs;integrated security=true")){SqlDataAdapter da = new SqlDataAdapter("GetDataByIndex", con);//加载分页的存储过程da.SelectCommand.CommandType = CommandType.StoredProcedure;//执行类型da.SelectCommand.Parameters.Add(new SqlParameter("@pageindex", SqlDbType.Int)).Value = ide;//输入参数,显示第几页da.SelectCommand.Parameters.Add(new SqlParameter("@pagecount", SqlDbType.Int)).Direction = ParameterDirection.Output;//输出参数,显示总页数DataSet ds = new DataSet();da.Fill(ds);labcount.Text = (Convert.ToInt32(da.SelectCommand.Parameters["@pagecount"].Value)-1).ToString();     //返回总页数if (ds.Tables[0].Rows.Count > 0){return ds;}else{return null;}}}/// <summary>/// 信息分页/// </summary>/// <param name="sender"></param>/// <param name="0">第一页显示数据</param>public void shuju()     //初始化数据
        {DataSet ds=bd(0);GridView1.DataSource = ds;GridView1.DataBind();#region 初始页//using (SqlConnection con = new SqlConnection("server=.;database=Blogs;integrated security=true"))//{//    SqlDataAdapter da = new SqlDataAdapter("GetDataByIndex", con);//    da.SelectCommand.CommandType = CommandType.StoredProcedure;//    da.SelectCommand.Parameters.Add(new SqlParameter("@pageindex", SqlDbType.Int)).Value = 0;//    da.SelectCommand.Parameters.Add(new SqlParameter("@pagecount", SqlDbType.Int)).Direction = ParameterDirection.Output;//    DataSet ds = new DataSet();//    da.Fill(ds);//    labcount.Text = da.SelectCommand.Parameters["@pagecount"].Value.ToString();     //返回总页数//    this.GridView1.DataSource = ds;//    this.GridView1.DataBind();//}#endregionif (index.Text == "1"){LinkButton1.Enabled = false;LinkButton2.Enabled = false;}else if(index.Text==labcount.Text){LinkButton3.Enabled = false;LinkButton4.Enabled = false;}}/// <summary>/// 首页事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void LinkButton1_Click(object sender, EventArgs e){index.Text = "1";DataSet ds = bd(0);GridView1.DataSource = ds;GridView1.DataBind();if (index.Text == "1"){LinkButton1.Enabled = false;LinkButton2.Enabled = false;LinkButton3.Enabled = true;LinkButton4.Enabled = true;}#region//DataSet ds = bd(0);//GridView1.DataSource = ds;//GridView1.DataBind();//using (SqlConnection con = new SqlConnection("server=.;database=Blogs;integrated security=true"))//  {//     SqlDataAdapter da= new SqlDataAdapter("GetDataByIndex", con);//     da.SelectCommand.CommandType = CommandType.StoredProcedure;//     da.SelectCommand.Parameters.Add(new SqlParameter("@pageindex", SqlDbType.Int));//     da.SelectCommand.Parameters["@pageindex"].Value = 0;//     da.SelectCommand.Parameters.Add(new SqlParameter("@pagecount", SqlDbType.Int));//     da.SelectCommand.Parameters["@pagecount"].Direction = ParameterDirection.Output;//    DataSet ds = new DataSet();//     da.Fill(ds);//     this.GridView1.DataSource = ds;//     this.GridView1.DataBind();// }//index.Text = "1";////把首页和上一页设置为不可操作//LinkButton1.Enabled = false;//LinkButton2.Enabled = false;//LinkButton3.Enabled = true;//LinkButton4.Enabled = true;//LinkButton5.Enabled = true;#endregion}/// <summary>/// GO事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void LinkButton5_Click(object sender, EventArgs e){using (SqlConnection con = new SqlConnection("server=.;database=Blogs;integrated security=true")){int intpageindex = Convert.ToInt32(TextBox7.Text);int pagecount = Convert.ToInt32(labcount.Text);//判断,如果输入的数字大于总页数就返回if (intpageindex > pagecount)return;else{DataSet ds = bd(intpageindex - 1);GridView1.DataSource = ds;GridView1.DataBind();#region GO//SqlDataAdapter da = new SqlDataAdapter("GetDataByIndex", con);//da.SelectCommand.CommandType = CommandType.StoredProcedure;//da.SelectCommand.Parameters.Add(new SqlParameter("@pageindex", SqlDbType.Int)).Value = intpageindex - 1;//da.SelectCommand.Parameters.Add(new SqlParameter("@pagecount", SqlDbType.Int)).Direction = ParameterDirection.Output;//DataSet ds = new DataSet();//da.Fill(ds);#endregionif (TextBox7.Text == "1")       //判断如果输入1,首页和上一页不可操作,但是尾页和下一页可以操作
                      {LinkButton1.Enabled = false;LinkButton2.Enabled = false;LinkButton3.Enabled = true;LinkButton4.Enabled = true;}else if (TextBox7.Text == labcount.Text)        //判断如果输入的数等于总页数,首页和第一页可以操作,但是尾页可下一页不可操作
                      {LinkButton3.Enabled = false;LinkButton4.Enabled = false;LinkButton1.Enabled = true;LinkButton2.Enabled = true;}else                                           //如果是其他情况,首页第一页,尾页和下一页都可操作
                      {LinkButton1.Enabled = true;LinkButton2.Enabled = true;LinkButton3.Enabled = true;LinkButton4.Enabled = true;}}      }index.Text = TextBox7.Text;             //设置当前页数等于输入的页数
        }/// <summary>/// 上一页事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void LinkButton2_Click(object sender, EventArgs e){int intpageindex = Convert.ToInt32(index.Text);//当前页数DataSet ds = bd(intpageindex-2);GridView1.DataSource = ds;GridView1.DataBind();#region 上一页//using (SqlConnection con = new SqlConnection("server=.;database=Blogs;integrated security=true"))//  {//      string pageindex = index.Text;//      int intpageindex = Convert.ToInt32(pageindex);//      SqlDataAdapter da = new SqlDataAdapter("GetDataByIndex", con);//      da.SelectCommand.CommandType = CommandType.StoredProcedure;//     da.SelectCommand.Parameters.Add(new SqlParameter("@pageindex", SqlDbType.Int)).Value = intpageindex - 2;//     da.SelectCommand.Parameters.Add(new SqlParameter("@pagecount", SqlDbType.Int)).Direction = ParameterDirection.Output;//     DataSet ds = new DataSet();//     da.Fill(ds);//     labcount.Text = da.SelectCommand.Parameters["@pagecount"].Value.ToString();//     this.GridView1.DataSource = ds;//     this.GridView1.DataBind();//  }
#endregionindex.Text = (intpageindex - 1).ToString();//上页数LinkButton3.Enabled = true;LinkButton4.Enabled = true;if (index.Text == "1"){LinkButton1.Enabled = false;LinkButton2.Enabled = false;}}/// <summary>/// 下一页事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void LinkButton3_Click(object sender, EventArgs e){int intpageindex = Convert.ToInt32(index.Text);//当前页数DataSet ds = bd(intpageindex);GridView1.DataSource = ds;GridView1.DataBind();#region 下一页//using (SqlConnection con = new SqlConnection("server=.;database=Blogs;integrated security=true"))//  {//      string pageindex = index.Text;//      int intpageindex = Convert.ToInt32(pageindex);//      SqlDataAdapter da = new SqlDataAdapter("GetDataByIndex", con);//      da.SelectCommand.CommandType = CommandType.StoredProcedure;//     da.SelectCommand.Parameters.Add(new SqlParameter("@pageindex", SqlDbType.Int));//     da.SelectCommand.Parameters["@pageindex"].Value = intpageindex;//     da.SelectCommand.Parameters.Add(new SqlParameter("@pagecount", SqlDbType.Int));//     da.SelectCommand.Parameters["@pagecount"].Direction = ParameterDirection.Output;//     DataSet ds = new DataSet();//     da.Fill(ds);//     labcount.Text = da.SelectCommand.Parameters["@pagecount"].Value.ToString();//     this.GridView1.DataSource = ds;//     this.GridView1.DataBind();// }#endregionindex.Text = (intpageindex + 1).ToString();//下页数LinkButton1.Enabled = true;LinkButton2.Enabled = true;if (index.Text == labcount.Text){LinkButton3.Enabled = false;LinkButton4.Enabled = false;}}/// <summary>/// 尾页事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void LinkButton4_Click(object sender, EventArgs e){int intindex = Convert.ToInt32(labcount.Text)-1;//当前页数DataSet ds = bd(intindex);GridView1.DataSource = ds;GridView1.DataBind();#region 尾页//using (SqlConnection con = new SqlConnection("server=.;database=Blogs;integrated security=true"))//{//    int intindex = Convert.ToInt32(labcount.Text);//    SqlDataAdapter da = new SqlDataAdapter("GetDataByIndex", con);//    da.SelectCommand.CommandType = CommandType.StoredProcedure;//    da.SelectCommand.Parameters.Add(new SqlParameter("@pageindex", SqlDbType.Int));//    da.SelectCommand.Parameters["@pageindex"].Value = intindex - 1;//    da.SelectCommand.Parameters.Add(new SqlParameter("@pagecount", SqlDbType.Int));//    da.SelectCommand.Parameters["@pagecount"].Direction = ParameterDirection.Output;//    DataSet ds = new DataSet();//    da.Fill(ds);//    this.GridView1.DataSource = ds;//    this.GridView1.DataBind();//}
#endregionindex.Text = labcount.Text;//尾页LinkButton1.Enabled = true;LinkButton2.Enabled = true;LinkButton3.Enabled = false;LinkButton4.Enabled = false;}


以上完成对存储过程基本操作,对三层架构深入理解。部分代码经过重构优化的,要不,分页的代码更多。当然还有优化之处,现在迫不及待把这些与大家分享。

转载于:https://www.cnblogs.com/baiboy/archive/2013/02/26/2933432.html

【利用存储过程和三层架构完成新闻发布】相关推荐

  1. asp.net三层架构制作新闻管理_程序员蜕变为架构师必须要知道的「架构理论」...

    架构目的和指标 架构目的: 架构设计的主要目的是为了解决软件系统复杂度带来的问题,是用最小的人力成本来满足需求的开发和响应需求的变化,用最小的运行成本来保障软件的运行.让软件达到"高内聚.松 ...

  2. 三层架构项目如何发布_以k8s集群管理为例,大牛教你如何设计优秀项目架构

    架构设计一直是技术人的关注热点,如何设计一个更优的架构对于实际的业务来说至关重要.本文腾讯云专家将从自身从事的一个k8s集群管理项目为例,重点剖析在项目开发过程中的三次架构演进历程,即针对项目最早版本 ...

  3. asp.net三层架构制作新闻管理_为什么使用PHP制作网站?

    现在网站制作可以使用多种语言.为什么我们选择PHP进行网站制作? 北京东浩联创科技有限公司.是一家高端网站制作公司,在业界处于领先地位.本文东浩联创的小编告诉大家我们为什么使用PHP进行网站制作?它的 ...

  4. 三层架构项目如何发布_链客Talk | 优盾首席架构师Alex Yang:如何从0开发区块链项目?...

    区块链钱包如何开发?有哪些技术难点? 为了避免盗币和内鬼事件发生,钱包加密方式应该怎样设定?风控策略又该如何实施? 本周四晚8点,"链客Talk"将邀请区块链钱包领域资深开发者Al ...

  5. C#毕业设计——基于C#+asp.net+sqlserver的校园新闻发布系统设计与实现(毕业论文+程序源码)——新闻发布系统

    基于C#+asp.net+sqlserver的校园新闻发布系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的校园新闻发布系统设计与实现,文章末尾 ...

  6. asp毕业设计——基于asp+access的新闻发布系统设计与实现(毕业论文+程序源码)——新闻发布系统

    基于asp+access的新闻发布系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的新闻发布系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开 ...

  7. c#利用三层架构做一个简单的登录窗体

    就个人而言,三层架构有点难理解,不知道该如何下手,各层与各层之间怎么调用 最近一直在研究三层架构,经过网上学习与多方打听写一下自己的心得.有不足之处,可以评论和私聊探讨 言归正传: 三层架构(3-ti ...

  8. 新闻发布管理系统/新闻网站

    摘  要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准 ...

  9. ASP.NET 三层架构技术 人力资源管理系统项目HR (深入WebServic

    白菜价, 想要的联系QQ:867635458,非诚勿扰! ASP.NET MVC Linq 技术  企业级通用OA系统  全程开发 大型企业级别OA项目实战全新上线啦!本项目由小孔子讲师全程录制.小孔 ...

最新文章

  1. 计算机专业毕业生人数稳居前十,你该怎么脱颖而出?
  2. 新一轮光伏电站产能过剩隐忧初显
  3. Oracle bootstrap$ 详解
  4. PHP算法之四大基础算法
  5. 机器视觉资料汇总(2)
  6. Java黑皮书课后题第5章:5.40(模拟:正面或反面)编写程序,模拟抛硬币一百万次,显示出现正面和反面的次数
  7. 以太网和局域网的关系
  8. RIP,EIGRP,OSPF融合网络互通实验(原创)
  9. wamp php 升级,wamp升级PHP7.1
  10. jqueryui时间插件_jQueryUI AutoComplete插件
  11. Linux/Windows下查看同一网段下的所有活动IP
  12. python—如何处理文件中的缺失值
  13. Web调取摄像头拍照
  14. 希尔伯特变换Hilbert Transform
  15. word论文排版和写作05:从word中导出pdf
  16. android刷机工具mac版,Apeaksoft Android Toolkit for Mac(安卓数据恢复软件)
  17. 将微信和支付宝支付的个二维码合二为一
  18. JGG | EVenn: 3分钟在线轻松绘制5种Venn图和Venn网络
  19. C/C++语言二维数组的传参方法总结
  20. unity ugui image组件ngui uisprite 对称显示功能

热门文章

  1. 2021年南宁二中高考成绩查询,2021年广西南宁二中高考物理冲刺试卷(一).docx...
  2. linux java 选择题_java面试题:Linux
  3. Python图片文字识别——Windows下Tesseract-OCR的安装与使用
  4. java 正则regex_Java中的正则表达式– Java Regex示例
  5. java 生成csr_Java以编程方式生成CSR
  6. python pip_Python PIP
  7. Java好学吗?Java能做什么?如何快速入门Java?
  8. Oracle 冷备份详解【实战案例】
  9. Linux下安装配置PHP环境(上)---Apache2
  10. stringstream 字符串的格式化数据提取