首页 > 开发 > 综合 > 正文

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

2024-07-21 02:17:27
字体:
来源:转载
供稿:网友
写这篇文章的时候首先要向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〉


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表