写这篇文章的时候首先要向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〉
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器