网页功能: 加入收藏 设为首页 网站搜索  
C#版的网站新闻发布系统
发表日期:2003-06-05作者:[] 出处:  

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

我来说两句】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 C#版的网站新闻发布系统
本类热点文章
  简单的多人聊天(C#.Socket)
  C#的office操作[word&Excel]
  在C#中调用VBScript、JavaScript等脚本..
  在C#中调用VBScript、JavaScript等脚本..
  C#程序编码规范
  C#程序编码规范
  使用c#获得cpu,硬盘的序列号
  在Linux上运行C#
  在Linux上运行C#
  弹出窗口杀手
  弹出窗口杀手
  算术表达式解析器的实现思路
最新分类信息我要发布 
最新招聘信息

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放  
Copyright ©2003-2022 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00401