本程序涉及到数据库的添加,修改和删除操作。
懒得写了,把界面贴出来,照着界面画就可以了。本例数据库:sqlserver2000附带的pubs数据库,看一下连接字符串就很清楚了。如果要在本机器上运行,把uid和pwd改成你自己sql登陆用户名和密码。
创建一个web页面,命名为:add.aspx。
界面设计如图:
add.aspx代码:
<%@ page language="c#" codebehind="add.aspx.cs" autoeventwireup="false" inherits="teachshow.charpter7.accessdatabase.add" %>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en" >
<html>
<head>
<title>add</title>
<link href="../../style.css" type="text/css" rel="stylesheet">
<meta content="microsoft visual studio .net 7.1" name="generator">
<meta content="c#" name="code_language">
<meta content="javascript" name="vs_defaultclientscript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetschema">
</head>
<body ms_positioning="gridlayout">
<form id="form1" method="post" runat="server">
<div align="center">
<center>
<table class="smallblack" height="318" cellspacing="0" cellpadding="0" width="429" border="0">
<tr>
<td class="title" valign="top" width="429" colspan="2" height="31">添加一个新的发行者</td>
</tr>
<tr>
<td valign="top" width="79" height="23">发行者id:</td>
<td valign="top" width="350" height="23"><asp:textbox id="textbox1" runat="server" height="18px" cssclass="smallred"></asp:textbox><font face="宋体">(以99打头,共4位数字)</font></td>
</tr>
<tr>
<td valign="top" width="79" height="23"><font face="宋体">姓名:</font></td>
<td valign="top" width="350" height="23"><asp:textbox id="textbox2" runat="server" height="18px" cssclass="smallred"></asp:textbox></td>
</tr>
<tr>
<td valign="top" width="79" height="23"><font face="宋体">城市:</font></td>
<td valign="top" width="350" height="23"><asp:textbox id="textbox3" runat="server" height="18px" cssclass="smallred"></asp:textbox></td>
</tr>
<tr>
<td valign="top" width="79" height="23"><font face="宋体">省份:</font></td>
<td valign="top" width="350" height="23"><asp:textbox id="textbox4" runat="server" height="18px" cssclass="smallred"></asp:textbox><font face="宋体">(2个字符)</font></td>
</tr>
<tr>
<td valign="top" width="79" height="24"><font face="宋体">国家:</font></td>
<td valign="top" width="350" height="24"><asp:textbox id="textbox5" runat="server" height="18px" cssclass="smallred"></asp:textbox></td>
</tr>
<tr>
<td valign="top" align="center" width="429" colspan="2" height="24"><asp:linkbutton id="linkbutton1" runat="server">提交到数据库</asp:linkbutton></td>
</tr>
<tr>
<td width="429" height="147" valign="top" colspan="2">
<asp:datagrid id="datagrid1" runat="server" height="120px" cssclass="general" width="428px">
<itemstyle width="50px"></itemstyle>
<columns>
<asp:editcommandcolumn buttontype="linkbutton" updatetext="更新" canceltext="取消" edittext="编辑">
<headerstyle width="60px"></headerstyle>
</asp:editcommandcolumn>
<asp:buttoncolumn text="删除" commandname="delete"></asp:buttoncolumn>
</columns>
</asp:datagrid></td>
</tr>
</table>
</center>
</div>
</form>
</body>
</html>
add.asp.cs代码:
using system;
using system.collections;
using system.componentmodel;
using system.data;
using system.data.sqlclient;
using system.drawing;
using system.web;
using system.web.sessionstate;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.htmlcontrols;
namespace teachshow.charpter7.accessdatabase
{
/// <summary>
/// add 的摘要说明。
/// </summary>
public class add : system.web.ui.page
{
protected system.web.ui.webcontrols.textbox textbox1;
protected system.web.ui.webcontrols.textbox textbox2;
protected system.web.ui.webcontrols.textbox textbox3;
protected system.web.ui.webcontrols.textbox textbox4;
protected system.web.ui.webcontrols.linkbutton linkbutton1;
protected system.web.ui.webcontrols.datagrid datagrid1;
protected system.web.ui.webcontrols.textbox textbox5;
private void page_load(object sender, system.eventargs e)
{
// 在此处放置用户代码以初始化页面
if(!this.ispostback)
{
this.bindgrid();
}
}
#region web 窗体设计器生成的代码
override protected void oninit(eventargs e)
{
//
// codegen: 该调用是 asp.net web 窗体设计器所必需的。
//
initializecomponent();
base.oninit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void initializecomponent()
{
this.linkbutton1.click += new system.eventhandler(this.linkbutton1_click);
this.datagrid1.disposed += new system.eventhandler(this.datagrid1_disposed);
this.datagrid1.cancelcommand += new system.web.ui.webcontrols.datagridcommandeventhandler(this.datagrid1_cancelcommand);
this.datagrid1.editcommand += new system.web.ui.webcontrols.datagridcommandeventhandler(this.datagrid1_editcommand);
this.datagrid1.updatecommand += new system.web.ui.webcontrols.datagridcommandeventhandler(this.datagrid1_updatecommand);
this.datagrid1.deletecommand += new system.web.ui.webcontrols.datagridcommandeventhandler(this.datagrid1_deletecommand);
this.datagrid1.selectedindexchanged += new system.eventhandler(this.datagrid1_selectedindexchanged);
this.load += new system.eventhandler(this.page_load);
}
#endregion
private void linkbutton1_click(object sender, system.eventargs e)
{
addpublisher();
}
/// <summary>
/// 添加
/// </summary>
private void addpublisher()
{
string sql="insert into publishers(pub_id,pub_name,city,state,country) values(@pubid,@pubname,@city,@state,@country)";
sqlconnection con=new sqlconnection("server=accp-lzh;uid=sa;pwd=sasa;database=pubs");
sqlcommand cmd=new sqlcommand(sql,con);
cmd.parameters.add(new sqlparameter("@pubid",sqldbtype.char,4));
cmd.parameters["@pubid"].value=this.textbox1.text;
cmd.parameters.add(new sqlparameter("@pubname",sqldbtype.varchar ,40));
cmd.parameters["@pubname"].value=this.textbox2.text;
cmd.parameters.add(new sqlparameter("@city",sqldbtype.char,20));
cmd.parameters["@city"].value=this.textbox3.text;
cmd.parameters.add(new sqlparameter("@state",sqldbtype.char,2));
cmd.parameters["@state"].value=this.textbox4.text;
cmd.parameters.add(new sqlparameter("@country",sqldbtype.varchar ,30));
cmd.parameters["@country"].value=this.textbox5.text;
cmd.connection.open();
cmd.executenonquery();
cmd.connection.close();
this.textbox1.text="";
this.textbox2.text="";
this.textbox3.text="";
this.textbox4.text="";
this.textbox5.text="";
this.bindgrid();
}
private void bindgrid()
{
sqlconnection con=new sqlconnection("server=accp-lzh;uid=sa;pwd=sasa;database=pubs");
sqldataadapter mysqlcom=new sqldataadapter("select * from publishers where pub_id like '99%'",con);
dataset myds=new dataset();
mysqlcom.fill(myds,"publishers");
this.datagrid1.datasource=myds.tables["publishers"].defaultview ;
this.datagrid1.databind();
}
/// <summary>
/// 点击编辑时触发事件
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
private void datagrid1_editcommand(object source, system.web.ui.webcontrols.datagridcommandeventargs e)
{
this.datagrid1.edititemindex=(int)e.item.itemindex;
this.bindgrid();
}
/// <summary>
/// 点击取消时触发该事件。
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
private void datagrid1_cancelcommand(object source, system.web.ui.webcontrols.datagridcommandeventargs e)
{
this.datagrid1.columns[0].headertext="已取消";
this.datagrid1.edititemindex=-1;
this.bindgrid();
}
private void datagrid1_selectedindexchanged(object sender, system.eventargs e)
{
}
/// <summary>
/// 点击更新时触发该事件。
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
private void datagrid1_updatecommand(object source, system.web.ui.webcontrols.datagridcommandeventargs e)
{
sqlconnection con=new sqlconnection("server=accp-lzh;uid=sa;pwd=sasa;database=pubs");
sqlcommand selectcmd=con.createcommand();
selectcmd.commandtype=commandtype.text;
selectcmd.commandtext="select * from publishers where pub_id like '99%'";
sqldataadapter sqladatper=new sqldataadapter();
sqladatper.selectcommand=selectcmd;
dataset ds=new dataset();
con.open();
sqladatper.fill(ds,"publishers");
con.close();
sqlcommand updatecmd=con.createcommand();
updatecmd.commandtext="update publishers set pub_name=@pubname,city=@city,state=@state,country=@country where pub_id=@pub_id";
sqlparameter pubnamepar=new sqlparameter("@pubname",sqldbtype.varchar,40,"pub_name");
updatecmd.parameters.add(pubnamepar);
sqlparameter citypar=new sqlparameter("@city",sqldbtype.varchar,20,"city");
updatecmd.parameters.add(citypar);
sqlparameter statepar=new sqlparameter("@state",sqldbtype.char,2,"state");
updatecmd.parameters.add(statepar);
sqlparameter countrypar=new sqlparameter("@country",sqldbtype.varchar,30,"country");
updatecmd.parameters.add(countrypar);
sqlparameter pubidpar=new sqlparameter("@pub_id",sqldbtype.char,4,"pub_id");
pubidpar.sourceversion=datarowversion.original;
updatecmd.parameters.add(pubidpar);
sqladatper.updatecommand=updatecmd;
datatable table=ds.tables["publishers"];
table.primarykey=new datacolumn[]
{
table.columns["pub_id"]
};
datarow row=table.rows.find(((textbox)(e.item.cells[2].controls[0])).text);
row["pub_name"]=((textbox)(e.item.cells[3].controls[0])).text;
row["city"]=((textbox)(e.item.cells[4].controls[0])).text;
row["state"]=((textbox)(e.item.cells[5].controls[0])).text;
row["country"]=((textbox)(e.item.cells[6].controls[0])).text;
con.open();
sqladatper.update(table);
con.close();
this.datagrid1.edititemindex=-1;
this.bindgrid();
}
/// <summary>
/// 点击删除时触发该事件
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
private void datagrid1_deletecommand(object source, system.web.ui.webcontrols.datagridcommandeventargs e)
{
sqlconnection con=new sqlconnection("server=accp-lzh;uid=sa;pwd=sasa;database=pubs");
sqlcommand selectcmd=con.createcommand();
selectcmd.commandtext="select * from publishers where pub_id like '99%'";
sqlcommand deletecmd=con.createcommand();
deletecmd.commandtext="delete from publishers where pub_id=@pub_id";
sqlparameter pubidpar=new sqlparameter("@pub_id",sqldbtype.char,4,"pub_id");
pubidpar.sourceversion=datarowversion.original;
deletecmd.parameters.add(pubidpar);
sqldataadapter sqladapter=new sqldataadapter();
sqladapter.selectcommand=selectcmd;
sqladapter.deletecommand=deletecmd;
dataset ds=new dataset();
con.open();
sqladapter.fill(ds,"publishers");
datatable table=new datatable();
table=ds.tables["publishers"];
table.primarykey=new datacolumn[]//定义主键,便于查找
{
table.columns["pub_id"]
};
datarow row=table.rows.find(e.item.cells[2].text);
row.delete();
sqladapter.update(table);
con.close();
this.datagrid1.edititemindex=-1;
this.bindgrid();
}
private void datagrid1_disposed(object sender, system.eventargs e)
{
}
}
}
分享到:
相关推荐
asp.net(vb) datagrid导出为excel asp.net(vb) datagrid导出为excel asp.net(vb) datagrid导出为excel asp.net(vb) datagrid导出为excel
一个基于C#+ASP.NET实现可以进行DataGrid全数据记录进行编辑维护的程序例子.
asp.net用datagrid控件连接数据库的两个实例.
【ASP.NET编程知识】DataGrid使用心得(调用及连接数据库等等).docx
vb.net中datagrid连接access数据库
构架数据库系统入门 网站的架设和服务器配置 建立和配置数据源 连接和操作数据源 ...使用ASP.NET操作数据库 断开式数据库访问 使用数据网格处理数据 常用ASP.NET模块 ASP.NET网络数据库开发 . . . . 附带实例
ASP.NET应用:DataGrid使用最佳实践
EasyUI版本比较旧,请下载新的版本更新,最新版本测试通过。
DataList,DataGrid中的分页dll
Visual Studio .Net为编写WinForm程序(即:在Windows平台下运行的程序)所提供的DataGrid组件比起微软以往的各种开发环境中提供的 DataGrid组件都要\"高级\"许多。其\"高级\"的地方就在于不需要再进行任何其他设置...
在ASP.NET的DataGrid数据显示控件编程中,我们有几种方式可以增加DataGrid columns。其中最常见的方法是在web forms设计器中增加,通过在控件工具箱中拖访DataGrid控件到web设计页面,然后在属性生成器中增加Columns...
自定义asp.net中DataGrid的一个分页控件。。 在winform下实现。。。其实有了思路哪儿写都一样O(∩_∩)O哈哈~
asp.net 将DataGrid数据写入Excel文件.rar
ASP.NET中DataGrid的高级技巧[官方视频]
,这是一个ASP.NET WEB测试代码,数据库为access,把Access中的内容导出到Excel文件中,并保持数据格式不变,测试时请在ASP.NET3.5环境以上进行,数据库文件路径请修改Web.config文件。使用说明: 1.先将本目录下...
.net 使用easyUI_DataGrid分页 列操作
ASP.NET中DataGrid添加超链接、自定义显示示、页脚汇
摘要:学习如何避免在使用 ASP.NET Datagrid 控件进行开发时可能发生的一些常见错误。 Datagrid 控件是 Microsoft® ASP.NET 中功能最强、用途最广的 Web 控件之一,这一点已经得到了 ASP.NET 权威人士的认同。...
一、 DataGrid方法 二、 DataGrid属性 三、 DataGrid事件四、 DataGrid代码片断 对初学者很有用
wpf通过datagrid操作数据库,实现datagrid增删改操作。