写这篇文章的时候首先要向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〉
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3
最新文章
微信3.6.0测试版更新了微信支付漏洞会造成哪
360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗
人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本
查看所有0条评论>>