C#版的网站新闻发布系统

写这篇文章的时候首先要向bben_h 和jdxx表示感谢,是bben_h提出了C#中字符替换这个问题,jdxx很好的解决了这个问题,同时也使我想起以前做的一些程序(简单网站新闻发布系统),现在就把它奉献给大家,希望能对大家学习通过ADO.NET操作SqlServer数据库和DataGrid控制元件有些帮助。
  数据库结构

  数据库名:mydb,数据表名:news
  news表结构
  id(int 4) 递增ID
  biaoti(nvarchar 50) 新闻标题
  zhaizi(nvarchar 50) 出自
  neirong(ntext 16) 新闻内容
  shijian(datatime 8)发布时间
  img(nvarchar 50)图片路径
  counter(int 4)点击次数
 
  程序中连接SqlServer数据库,其中netfiresoft是我的机子的名称。
 
  网站新闻发布系统源程序:(数据库用的是SqlServer)
 
  增加页面(addnews.aspx)
 
  〈%@Page language="C#" Debug="True"%〉
  〈%@Import Namespace="System.Data"%〉
  〈%@Import Namespace="System.Data.SqlClient"%〉
  〈html〉
  〈head〉
  〈title〉网站新闻信息添加页面〈/title〉
  〈style type="text/css"〉
  〈!--
  table {  font-size: 9pt}
  body {  font-size: 9pt}
  --〉
  〈/style〉
  〈Script Language="C#" runat="server"〉
  void submit_Click(Object sender,EventArgs e)
  {
  //当单击提交按钮之后执行下面的代码
   SqlConnection MyConnection;
  SqlCommand MyCommand;
  String ConnStr;
   DateTime now= DateTime.Now;
   //链接SQL Server数据库
  MyConnection =new SqlConnection("Initial Catalog=mydb;Data Source=netfiresoft;Integrated Security=SSPI;");
  MyConnection.Open();
  String neirong2;
  neirong2=Server.HtmlEncode(neirong.Text);
  String zh="";
  String tmpstr="";
  for (int i=0; i〈neirong2.Length;i++) {
  zh=neirong2.Substring(i,1);
 if (zh==" ") { zh=" ";}
 if (zh=="\n") { zh="〈br〉"; }
 if (zh=="\t") { zh="    ";}
 tmpstr=tmpstr+zh; }
 neirong2=tmpstr;
  if ((biaoti.Text=="")||(neirong2==""))
 {
  Label1.Text="标题或内容不能为空!";
  }
  else if (biaoti.Text.Length〉=100)
 {
  Label1.Text="你的标题太长了!";
 }
  else if (img.Text.Length〉=100)
 {
  Label1.Text="你的图片路径太长了!";
 }
  else
 {
  //将新记录插入到数据库中
  ConnStr="insert into news(biaoti,zhaizi,neirong,shijian,img,counter) VALUES(‘"+biaoti.Text+"‘,
‘"+zhaizi.Text+"‘, ‘"+neirong2+"‘, ‘"+now.ToString()+"‘, ‘"+img.Text+"‘,0)";
  MyCommand=new SqlCommand(ConnStr,MyConnection);
  MyCommand.ExecuteNonQuery();
  Label1.Text="增加成功!";
 }
  biaoti.Text="";
  zhaizi.Text="";
  neirong.Text="";
  img.Text="";
}
void reset_Click(Object sender,EventArgs e)
{
  //当单击取消按钮之后执行下面代码
  biaoti.Text="";
  zhaizi.Text="";
  neirong.Text="";
  img.Text="";
}
〈/Script〉
〈/head〉
〈body 〉
〈table width="550" border="1" cellspacing="0" cellpadding="0" align="center"
bordercolorlight="#666666" bordercolordark="#FFFFFF"〉
〈form runat=server〉
 〈tr bgcolor="#CCCCCC"〉
  〈td colspan="2"〉网站新闻信息添加页面〈/td〉
 〈/tr〉
 〈tr〉
  〈td colspan="2"〉 〈/td〉
 〈/tr〉
 〈tr〉
  〈td width="78"〉标题:〈/td〉
  〈td width="416"〉 〈asp:TextBox  id="biaoti" size="50" runat="server"/〉
  〈/td〉
 〈/tr〉
 〈tr〉
  〈td width="78"〉摘自:〈/td〉
  〈td width="416"〉 〈asp:TextBox id="zhaizi" size="30" runat="server"/〉 〈/td〉
 〈/tr〉
 〈tr〉
  〈td width="78"〉图片:〈/td〉
  〈td width="416"〉〈asp:TextBox id="img" size="30" runat="server"/〉〈/td〉
 〈/tr〉
 〈tr〉
  〈td width="78"〉内容:〈/td〉
  〈td width="416"〉 〈asp:TextBox id="neirong" Columns="60" Rows="15" TextMode="MultiLine" runat="server"〉〈/asp:TextBox〉〈/td〉
 〈/tr〉
 〈tr〉
  〈td colspan="2"〉 〈/td〉
 〈/tr〉
 〈tr〉
  〈td colspan="2"〉
  〈div align="center"〉
   〈asp:Button  id="submit"  onClick=submit_Click runat="server" Text="提交"〉〈/asp:Button〉
   〈asp:Button  id="reset" onClick=reset_Click runat="server" Text="取消"〉〈/asp:Button〉
  〈/div〉
  〈/td〉
 〈/tr〉
〈/form〉
〈/table〉
〈p align="center"〉〈asp:Label id="Label1"  runat="server"/〉
〈/body〉
〈/html〉
 
  显示新闻标题页面(newsshow.aspx):(用到DataGrid控制元件)
 
〈%@Page language="C#" Debug="True"%〉
〈%@Import Namespace="System.Data"%〉
〈%@Import Namespace="System.Data.SqlClient"%〉
〈Html〉
〈Head〉
〈Title〉网站新闻发布系统〈/Title〉
〈script language="C#" runat="server" 〉
//当刚载入页面时候执行下面的程序。
int startIndex;
void Page_Load(Object Src,EventArgs E)
{
   if (!IsPostBack)
   {
           startIndex =0;
    }          
//绑定DataGrid
Binding();
}
//链接数据库,绑定DataGrid
void Binding()
{
 SqlConnection MyConnection;
 String ConnStr;
 MyConnection =new SqlConnection("Initial Catalog=mydb;Data Source=netfiresoft;Integrated Security=SSPI;");
 MyConnection.Open();
 String strCom= "SELECT  id ,biaoti ,zhaizi ,counter ,shijian FROM news ORDER BY id DESC";
 DataSet myDataSet= new DataSet();
 SqlDataAdapter myCommand=new SqlDataAdapter(strCom,MyConnection);
 //填充DataSet
 myCommand.Fill(myDataSet,"news");
 //关闭链接
 DataGrid1.DataSource = myDataSet.Tables["news"].DefaultView;
 //绑定 DataGrid
 DataGrid1.DataBind();
}
void ChangePage(Object sender,DataGridPageChangedEventArgs e)
{
     startIndex = e.NewPageIndex*DataGrid1.PageSize;
     DataGrid1.CurrentPageIndex = e.NewPageIndex;
     Binding();
}
〈/script〉
〈/Head〉
〈Body runat=server〉
〈p align="Center"〉〈font size="+3"〉新闻浏览〈/font〉
〈form runat=server〉
〈asp:DataGrid id=DataGrid1
 runat="server"
 ForeColor="Black"
 PagerStyle-Mode="NumericPages"
 Headerstyle-BackColor="#AAAADD"
 AlternatingItemStyle-BackColor="#FFFFCD"
 OnPageindexChanged="ChangePage"
 PageSize="10"
 AllowPaging="True"
 Width="80%"
 Font-Name="Verdana"
 Font-Size="8pt"
 autogeneratecolumns="False"〉
〈Columns〉
〈asp:HyperLinkColumn
               HeaderText="标题"
               DataNavigateUrlField="id"
               DataNavigateUrlFormatString="show.aspx?id={0}"
               DataTextField="biaoti"
               Target="_new"
               /〉
〈asp:BoundColumn HeaderText="摘自" itemstyle-width=20% DataField=zhaizi/〉
〈asp:BoundColumn HeaderText="点击次数" itemstyle-width=10% DataField=counter/〉
〈asp:BoundColumn HeaderText="发表日期" itemstyle-width=20% DataField=shijian/〉
〈/Columns〉
〈/asp:DataGrid〉
〈/form〉
〈/Body〉
〈/Html〉
 
  新闻内容浏览页面(show.aspx):
 
〈%@Page language="C#" Debug="True"%〉
〈%@Import Namespace="System.Data"%〉
〈%@Import Namespace="System.Data.SqlClient"%〉
〈html〉
〈head〉
〈title〉新闻发布系统〈/title〉
〈style type="text/css"〉
〈!--
TABLE {    FONT-SIZE: 9pt }
INPUT {    FONT-SIZE: 9pt }
SELECT{ FONT-SIZE: 9pt }
BODY {    FONT-SIZE: 9pt }
a:link { color: #000099; text-decoration: none}
a:visited { color:#000099; text-decoration: none}
a:hover { color: #990000; text-decoration: underline}
td {font-size:9pt;line-height:13pt;}
.p1 {  font-family: "宋体"; font-size: 9pt}
.p2 {  }
.p3 {  font-family: "宋体"; font-size: 12pt}
--〉
〈/style〉
〈script Language="C#" runat="server"〉
 DataSet ds;
 DataRow dr;
 String newsid;
void Page_Load(Object sender,EventArgs e)
{
 SqlConnection MyConnection;
 String ConnStr,strCon;
 newsid = Request.Params["id"];
 MyConnection =new SqlConnection("Initial Catalog=mydb;Data Source=netfiresoft;Integrated Security=SSPI;");
 MyConnection.Open();
 String strCom= "SELECT  biaoti ,zhaizi ,neirong,img,counter ,shijian FROM news where id="+newsid;
 ds= new DataSet();
 SqlDataAdapter myCommand=new SqlDataAdapter(strCom,MyConnection);
 myCommand.Fill(ds,"news");
 dr = ds.Tables["news"].Rows[0];
 strCon ="SELECT counter FROM news WHERE id = "+newsid;
 SqlCommand myCommand2= new SqlCommand(strCon, MyConnection);
 SqlDataReader reader = myCommand2.ExecuteReader();
 reader.Read();
 int i = reader.GetInt32(0);
 i++;
 reader.Close();
 strCon ="UPDATE news SET counter = "+i.ToString()+" WHERE (id= "+newsid+")";
 myCommand2.CommandText = strCon;
 myCommand2.ExecuteNonQuery();
 MyConnection.Close();
}
〈/script〉
〈/head〉
〈body bgcolor="#FFFFFF" link="#000000"〉
〈div align="center" class="p2"〉
〈table width="500" border="0" cellspacing="0" cellpadding="0"〉
 〈tr〉
  〈td〉〈div align="center"〉新闻发布系统〈/div〉〈/td〉
 〈/tr〉
 〈tr〉〈td〉 〈/td〉
 〈/tr〉
〈/table〉
〈table width="500" border="1" cellspacing="0" cellpadding="0" bordercolordark="#FFFFFF" bordercolorlight="#CCCCCC"〉
 〈tr〉
  〈td background="mmto.gif" height="15" width="470"〉
  〈table width="500" border="0" cellspacing="0" cellpadding="0" background="mmto.gif"〉
   〈tr〉
    〈td background="mmto.gif"〉 〈/td〉
    〈td background="mmto.gif"〉
      〈div align="right"〉
      〈img src="http://www.163design.net/n/c/printer.gif" width="16" height="14"〉
      〈a href="javascript:window.print()"〉打印本页〈/a〉
      〈/div〉
    〈/td〉
   〈/tr〉
  〈/table〉
  〈/td〉
 〈/tr〉
 〈tr〉
  〈td width="470"〉
   〈table width="500" border="0" cellspacing="0" cellpadding="0"〉
    〈tr align="center"〉
     〈td class="p3"〉〈br〉 〈%=dr["biaoti"]%〉〈/td〉
    〈/tr〉
    〈tr align="center"〉
     〈td〉 〈div〉 〈hr size="1" width="300"〉
          〈font color="#999999"〉[〈%=dr["shijian"]%〉]〈/font〉〈br〉
          〈/div〉
     〈/td〉
    〈/tr〉
    〈tr〉
     〈td〉
        〈%
           if(dr["img"] != "") {
           Response.Write("〈img src=‘" + dr["img"] + "‘ border=0 align=‘left‘ width=‘20‘ height=‘200‘〉");
        }
        %〉〈br〉 〈%=dr["neirong"]%〉
     〈/td〉
    〈/tr〉
    〈tr〉
     〈td〉 〈br〉  
          〈br〉 摘自: 〈%=dr["zhaizi"]%〉
          〈br〉
     〈/td〉
    〈/tr〉
    〈tr〉
     〈td〉
      〈div align="right"〉〈/div〉
     〈/td〉
    〈/tr〉
   〈/table〉
  〈/td〉
 〈/tr〉
 〈tr〉
  〈td height="17"〉
   〈table width="498" border="0" cellspacing="0" cellpadding="0" mmto.gif"〉
    〈tr〉
     〈td width="172" background="mmto.gif"〉本条消息被浏览了
       〈font color="#FF3333"〉[〈%=dr["Counter"]%〉]〈/font〉回
     〈/td〉
     〈td width="172" background="mmto.gif"〉 
     〈/td〉
     〈td width="134" background="mmto.gif"〉
      〈p align="right"〉〈a href="javascript:window.close()"〉关闭本窗口 〈/a〉〈/p〉
     〈/td〉
    〈/tr〉
   〈/table〉
  〈/td〉
 〈/tr〉
〈/table〉
〈table width="500" border="0" cellspacing="0" cellpadding="0"〉
 〈tr〉
  〈td〉〈img src="http://www.163design.net/n/c/bian.gif" width="500" height="13"〉〈/td〉
 〈/tr〉
〈/table〉
〈/div〉
〈/body〉
〈/html〉

时间: 2024-09-21 23:39:39

C#版的网站新闻发布系统的相关文章

够建网站:新闻发布系统

如何架设一个新闻系统呢?一个完整的新闻系统不仅仅只包括供浏览的新闻界面,它还包括许多功能的控制和后台管理的强劲功能. 那么这些功能内的子功能又如何调度分配呢?下面就来介绍一下各功能的调配控制.新闻系统的实现是简单的,但也可以说是非常复杂的. 新闻系统可分为三大部分:管理员登入系统,新闻管理系统,用户浏览系统.整个过程是简单的: 1.管理人员发布新闻-->数据库-->用户浏览新闻 2.发现问题-->登入管理系统-->编辑修改新闻 以上流程看似简单,但实现起来却并不是那么简单,这是个系

新闻-教务网站信息发布系统的数据库设计

问题描述 教务网站信息发布系统的数据库设计 教务网站信息发布系统需求分析 一.新闻发布 普通富文本编辑器(百度UEditor等).格式字符经过转义以后储存在数据库中. 允许上传图片.图片采用文件格式储存,不用数据库储存. 允许上传附件(一个),限制格式. 允许自定义排序,采用排序号. 允许设置所属专题. 允许设置标题链接:设置后,点击不进入内容页面,直接进入设置的链接. 置顶方式:采用排序号. 二.栏目管理 只有超级管理员具有栏目管理权限. 新闻最多分为三级栏目.(或者以设置父栏目的形式实现多级

实战ASP(3):用ASP构建你的网站新闻发布

用ASP构建你的网站新闻发布      更新每天新闻内容,对webmaster们来说是一件很头痛的事,首先,收集了大量的新闻资料后,还必须制作大量的网页,每天大大小小的国际新闻,国内新闻,IT新闻,可真够你累的.最致命的一点,这些松散的新闻是管理不了的,不能查询,不能在线动态删改,新闻讲求时效性,当你作好网页然后上传到服务器上的时侯,恐怕别人已早你一步,把新闻报导出来了.当真吃力不讨好,针对现在我们的上网环境,在线发布新闻,动态生成新闻网页,为新闻添加搜索,查找功能是必不可少的. 那么,使用AS

用ASP构建你的网站新闻发布(一)

更新每天新闻内容,对webmaster们来说是一件很头痛的事,首先,收集了大量的新闻资料后,还必须制作大量的网页,每天大大小小的国际新闻,国内新闻,IT新闻,可真够你累的.最致命的一点,这些松散的新闻是管理不了的,不能查询,不能在线动态删改,新闻讲求时效性,当你作好网页然后上传到服务器上的时侯,恐怕别人已早你一步,把新闻报导出来了.当真吃力不讨好,针对现在我们的上网环境,在线发布新闻,动态生成新闻网页,为新闻添加搜索,查找功能是必不可少的.    那么,使用ASP技术如何来实现动态的新闻发布系统

用ASP构建你的网站新闻发布(三)

(三)把新闻代码插入你的页面    最好的新闻发布,当然是为网站本身定做的,那样才能与主页风格一致,但如此一来,新闻发布系统有缺乏了通用性了,不能移值到别的网站上使用,有得必有失,在这个基础上关键是找一个平行点.综合来考滤,最好的做法是与页面分离,那样就可以不影响网页的外观,而也能达到很好的效果,在使用新闻的网页上我们可以通过放置一条这样的script语句来调用新闻代码    <script language="JavaScript"   src="http//xxx.

用ASP构建你的网站新闻发布(四)

紧接上节,我们的新闻系统已能完成日常的新闻在线添加,删除等的功能,但这还是不足够的,有的用户可能需要查找一下过往某一专题内容的相关新闻条目,而一个比教完善的新闻系统,当然少不免也的完成这个功能.    现在马上就为我们的新闻系统添加上(全文/标题)的检索功能吧,首先我们做一个检索表单,见下面的HTML代码,把这些代码放在需要新闻检索的web页面上.就可以供用户方便地完成新闻搜寻.   <form method="POST" action="http://XXX..com

如何建立自己的新闻发布系统?

下面是一个建立新闻发布系统的程序,不用和数据库打交道哦步骤:(1).在vs2005中新建网站,新建三个aspx网页,分别命名:title.aspx,news.aspx,main.aspx其中title.aspx用来设置标题,可以自己设计,写几个字也行,news.aspx用来显示新闻标题,main.aspx用来显示新闻内容.(2).新建htm页,用来设计框架.代码如下:<html xmlns="http://www.w3.org/1999/xhtml" ><head&g

用ASP.NET建立简单的新闻发布系统

下面是一个建立新闻发布系统的程序,不用和数据库打交道哦 步骤: (1).在vs2005中新建网站,新建三个aspx网页,分别命名:title.aspx,news.aspx,main.aspx其中title.aspx用来设置标题,可以自己设计,写几个字也行,news.aspx用来显示新闻标题,main.aspx用来显示新闻内容. (2).新建htm页,用来设计框架.代码如下: <html xmlns="http://www.w3.org/1999/xhtml" > <h

新闻发布系统,防火墙关了吗?

牛腩新闻发布系统,这一路上走走停停,到现在,终于走到了最后的发布阶段. 在发布的这个过程,找了一篇很完整的博客,按着上面的步骤,一步又一步,十多分钟后,真的可以通过自己电脑的浏览器浏览制作好的新闻系统了.但这还没有结束,还得看别人的电脑是否也可以通过发布的这个网址浏览网页. 结果就是"不行".在别人的电脑上,显示的总是登录超时的页面.还以为是新闻发布的这个过程中哪里出错了,所以,没成功之后就去修改发布的过程.这样一来,把自己做的系统来回发布了好几遍,但最后还是没有成功.原本打算不再试了