| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2221 人关注过本帖
标题:[转帖]新闻发布系统
取消只看楼主 加入收藏
tianlei
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2005-2-26
收藏
 问题点数:0 回复次数:3 
[转帖]新闻发布系统

C#版的网站新闻发布系统 希望能对大家学习通过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==" ") { zh="〈br〉"; } if (zh==" ") { 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〉

搜索更多相关主题的帖子: 新闻发布 转帖 系统 
2005-10-17 16:14
tianlei
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2005-2-26
收藏
得分:0 
用的是sql数据库 而且数据命令都没有保存
等有时间的时候我会整理一下 把数据库命令 发放出来

叹年光过去 功名未立 书生老去 机会方来
2006-10-19 13:19
tianlei
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2005-2-26
收藏
得分:0 
你是.......怎么认识我?

叹年光过去 功名未立 书生老去 机会方来
2006-10-19 13:22
tianlei
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2005-2-26
收藏
得分:0 
如果直接 把上面的代码直接放到后台 当然不可以了,
如:"〉〈%=dr["Counter"]%〉 是前台帮定数据的代码 放到后台 就不可以
你可以把 <script>里的 方法 代码 放到后台 但要注意事件匹配

叹年光过去 功名未立 书生老去 机会方来
2006-10-24 16:42
快速回复:[转帖]新闻发布系统
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057205 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved