C#版的網站新聞發布系統

來源:互聯網
上載者:User
     寫這篇文章的時候首先要向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〉

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.