寫這篇文章的時候首先要向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.okasp.com/techinfo/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.okasp.com/techinfo/bian.gif" width="500" height="13"〉〈/td〉 〈/tr〉 〈/table〉 〈/div〉 〈/body〉 〈/html〉
|