|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
数据库有很多应用领域,但是如果你单单学数据库的话基本上做数据库管理员比较合适而已,跟领域结合的你还得再学习那些领域知识。(其实数据挖掘我真是不懂,本来这学期开了一门课了。只管ASP.NETDataGrid是尽人皆知十分好的表格控件,不外,提起DataGrid的编纂功效,我们却不敢奉承了,就拿DataGrid的数据提交功效来讲,切实其实存在很年夜的成绩:在DataGrid中,每编纂一行就要提交一行,即所谓“单行编纂、单行提交”,如许的话,假如编纂的行数过量,不但用户操纵烦琐,还会形成对服务器的频仍会见,极年夜下降体系效力。
固然了,有一种借尸还魂的办理办法,那就是把所要编纂的内容转到其他的页中在TextBox中举行编纂。不外,细心想一想,这类办法岂非不是本人在骗本人吗,另有在Grid中我们编纂的时分总不克不及总是用Tab键来完成Grid(TextBox)之间的跳转吧,假如呼应回车事务,那末必要程序员华侈很年夜的精神来开辟。
怎样办理上述成绩呢?上面我向人人保举一个我正在利用的国产DataGrid:SmartGrid(天空软件站能够下载:http://www.skycn.com/soft/23547.html),这个控件我已用了好长的工夫了,如今来同人人切磋一下SmartGrid的多行提交的办法:SmartGrid并没有DataGrid中的那些按钮列而是全部的表单只要一个提交按钮,不管你变动了一行大概是多行都能够一次性的提交,上面来任意看点例子:
实例:
上图中是一个对照好的编纂的例子,例子显现,你能够编纂多行也能够编纂一行,然后一同举行提交。
代码:
修正按钮的代码:
privatevoidbtonSave_Click(objectsender,System.EventArgse)
{
this.DataGrid1.ReadOnly=false;//进进编纂
this.DataGrid1.AllowAdd=true;//同意增加
this.DataGrid1.AllowDelete=true;//同意删除
}
此段代码是smartgrid的独占的属性你能够设增加删除编纂的各类的功效
保留按钮的代码:
privatevoidButton2_Click(objectsender,System.EventArgse)
{
DataTablet=(DataTable)this.SmartGrid1.DataSource;
this.sqlDataAdapter1.Update(t);
t.Clear();
this.sqlDataAdapter1.Fill(t);
this.SmartGrid1.DataSource=t;
}
这是全体的把数据提交到数据库中,这类做法合适年夜数据量的情形
另有一种是数据逐行的提交到服务器
代码:
privatevoidbtonSave_Click(objectsender,System.EventArgse)
{
DataTabletb=(DataTable)this.SmartGrid1.DataSource;
SqlParameter[]parameters=newSqlParameter[5];
foreach(DataRowdrintb.Rows)
{
parameters[0]=newSqlParameter("@customerId",""+dr[1]+"");
parameters[1]=newSqlParameter("@companyName",""+dr[0]+"");
parameters[2]=newSqlParameter("@contactName",""+dr[2]+"");
parameters[3]=newSqlParameter("@contactTitle",""+dr[3]+"");
parameters[4]=newSqlParameter("@address",""+dr[4]+"");
//EamPd是类Execute是实行存储历程的函数parameters是存储历程所必要的参数
EamPd.Execute("CreatLayer",parameters);
}
}
我感觉可以顶到50楼,出乎意料的是大家居然纷纷写出自己的博文,还被编辑做成了专题,置于首页头条。 |
|