C#版的网站新闻发布系统
发布时间:2006-10-14 3:05:47   收集提供:gaoqian

  写这篇文章的时候首先要向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〉

 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50