简单网站新闻发布系统

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


 

原文地址:https://www.cnblogs.com/CB/p/355393.html