仓酷云
标题:
ASP教程之dataGrid 中增加数据
[打印本页]
作者:
小魔女
时间:
2015-1-16 22:49
标题:
ASP教程之dataGrid 中增加数据
使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。datagrid|数据文件代码:
test.aspx
===========================>
<%@PageLanguage="C#"Debug="True"%>
<%@ImportNamespace="System.Data"%>
<%@ImportNamespace="System.Data.SqlClient"%>
<scriptlanguage="C#"runat="server">
conststringDataTableName="Employees";
SqlConnectionconn;
SqlDataAdapteradapter;
voidPage_Load(Objectsrc,EventArgse)
{
conn=newSqlConnection("server=(local);database=pubs;uid=sa;pwd=");
adapter=newSqlDataAdapter("select*fromemployees",conn);
if(!Page.IsPostBack){
BindData();
}
}
//绑定命据
voidBindData(){
//先从Session中猎取DataTable
DataTabletable=(DataTable)Session[DataTableName];
//若Session中的DataTable不存在,则从数据库猎取数据
if(table==null){
table=newDataTable();
adapter.Fill(table);
//将DataTable保留到Session中
SaveTableToSession(table);
table.Columns["id"].AutoIncrement=true;
}
grid.DataSource=table;
grid.DataBind();
}
voidChangePage(objectsrc,DataGridPageChangedEventArgse){
grid.CurrentPageIndex=e.NewPageIndex;
BindData();
}
voidUpdateDataTable(objectsrc,EventArgse){
try{
DataTabletable=GetTableFromSession();
stringname;
byteage;
stringaddress;
CheckBoxckdel;
for(inti=0;i<grid.Items.Count;i++){
DataGridItemdgitem=grid.Items[i];
intempId=(int)grid.DataKeys[dgitem.ItemIndex];
ckdel=dgitem.FindControl("delckb")asCheckBox;
name=((TextBox)dgitem.Cells[0].Controls[1]).Text;
age=byte.Parse(((TextBox)dgitem.Cells[1].Controls[1]).Text);
address=((TextBox)dgitem.Cells[2].Controls[1]).Text;
UpdateEmployee(table,empId,name,age,address,ckdel.Checked);
}
SaveTableToSession(table);
cancelbtn.Enabled=true;
introwcount=0;
foreach(DataRowrowintable.Rows){
if(row.RowState!=DataRowState.Deleted)
rowcount++;
}
if(Math.Ceiling(rowcount/5.0)==grid.CurrentPageIndex&&grid.CurrentPageIndex>0)
grid.CurrentPageIndex-=1;
BindData();
msglbl.Text="更新数据表乐成!";
}
catch(Exceptionex){
msglbl.Text="更新数据表失利,呈现不测毛病:"+ex.Message;
}
}
voidUpdateEmployee(DataTabletable,intid,stringname,byteage,stringaddress,boolisDelete){
for(inti=0;i<table.Rows.Count;i++){
DataRowrow=table.Rows[i];
//假如选中了删除复选框,就间接就该行数据删除,不必再更新,不然更新该行数据
if(row!=null&&row.RowState!=DataRowState.Deleted){
if((int)row["id"]==id){
if(!isDelete){
row["name"]=name;
row["age"]=age;
row["address"]=address;
}
else
row.Delete();
}
}
}
msglbl.Text="更新数据表乐成!";
}
voidUpdateDataBase(objectsrc,EventArgse){
try{
DataTabletable=GetTableFromSession();
SqlCommandBuildercmdbd=newSqlCommandBuilder(adapter);
adapter.Update(table);
msglbl.Text="更新数据源乐成!";
cancelbtn.Enabled=false;
}
catch(Exceptionex){
msglbl.Text="更新数据源失利,呈现不测毛病:"+ex.Message;
}
BindData();
}
voidCancelUpdate(objectsrc,EventArgse){
DataTabletable=GetTableFromSession();
table.RejectChanges();
grid.CurrentPageIndex=0;
BindData();
cancelbtn.Enabled=false;
}
voidAddNewEmployee(objectsrc,DataGridCommandEventArgse){
if(e.CommandName=="Add"){
try{
DataTabletable=GetTableFromSession();
stringname=((TextBox)e.Item.FindControl("newname")).Text;
byteage=byte.Parse(((TextBox)e.Item.FindControl("newage")).Text);
stringaddress=((TextBox)e.Item.FindControl("newaddress")).Text;
DataRowrow=table.NewRow();
row["name"]=name;
row["age"]=age;
row["address"]=address;
table.Rows.Add(row);
SaveTableToSession(table);
//从头绑定命据
BindData();
msglbl.Text="增加新纪录乐成!";
cancelbtn.Enabled=true;
}
catch(Exceptionex){
msglbl.Text="未能增加新纪录,呈现不测毛病:"+ex.Message;
}
}
}
//将DataTable保留到session中
voidSaveTableToSession(DataTabletable){
Session[DataTableName]=table;
}
//从Session中猎取DataTable
DataTableGetTableFromSession(){
DataTabletable=(DataTable)Session[DataTableName];
if(table!=null){
returntable;
}
else{</p>强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。
作者:
爱飞
时间:
2015-1-20 05:11
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
作者:
谁可相欹
时间:
2015-1-25 15:17
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
作者:
海妖
时间:
2015-2-2 22:35
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
作者:
再现理想
时间:
2015-2-8 17:55
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
作者:
透明
时间:
2015-3-8 07:29
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
作者:
老尸
时间:
2015-3-15 21:09
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
作者:
小女巫
时间:
2015-3-22 04:24
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2