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

发表于:2007-06-30来源:作者:点击数: 标签:
写这篇文章的时候首先要向bben_h 和jdxx表示感谢,是bben_h提出了C#中字符替换这个问题,jdxx很好的解决了这个问题,同时也使我想起以前做的一些程序(简单网站新闻发布系统),现在就把它奉献给大家,希望能对大家学习通过ADO.NET操作SqlServer 数据库 和Da
     写这篇文章的时候首先要向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="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="bian.gif" width="500" height="13"〉〈/td〉
   〈/tr〉
  〈/table〉
  〈/div〉
  〈/body〉
  〈/html〉
  
  
  

原文转自:http://www.ltesting.net