|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛B轰轰的linux,估计也没有系统捆绑c/c++的编译器,而且许多新平台都无法支持复杂的c/c++编译器在上面直接运行。 在利用.NET的过程当中,数据库会见是一个很主要的部分,出格是在B/S体系的构建过程当中,数据库操纵几近成了一个必不成少的操纵。挪用存储历程完成数据库操纵使良多程序员利用的办法,并且年夜多半的程序员都是能利用存储历程就利用存储历程,很少间接利用SQL语句,以是存储历程是很有效并且很主要的。
存储历程简介
复杂的说,存储历程是由一些SQL语句和把持语句构成的被封装起来的历程,它驻留在数据库中,能够被客户使用程序挪用,也能够从另外一个历程或触发器挪用。它的参数能够被传送和前往。与使用程序中的函数历程相似,存储历程能够经由过程名字来挪用,并且它们一样有输出参数和输入参数。
依据前往值范例的分歧,我们能够将存储历程分为三类:前往纪录集的存储历程,前往数值的存储历程(也能够称为标量存储历程),和举动存储历程。望文生义,前往纪录集的存储历程的实行了局是一个纪录集,典范的例子是从数据库中检索出切合某一个或几个前提的纪录;前往数值的存储历程实行完今后前往一个值,比方在数据库中实行一个有前往值的函数或命令;最初,举动存储历程仅仅是用来完成数据库的某个功效,而没有前往值,比方在数据库中的更新和删除操纵。
利用存储历程的优点
相对间接利用SQL语句,在使用程序中间接挪用存储历程有以下优点:
(1)削减收集通讯量。挪用一个行数未几的存储历程与间接挪用SQL语句的收集通讯量大概不会有很年夜的不同,但是假如存储历程包括上百行SQL语句,那末其功能相对比一条一条的挪用SQL语句要高很多。
(2)实行速率更快。有两个缘故原由:起首,在存储历程创立的时分,数据库已对其举行了一次剖析和优化。其次,存储历程一旦实行,在内存中就会保存一份这个存储历程,如许下次再实行一样的存储历程时,能够从内存中间接挪用。
(3)更强的顺应性:因为存储历程对数据库的会见是经由过程存储历程来举行的,因而数据库开辟职员能够在不修改存储历程接口的情形下对数据库举行任何修改,而这些修改不会对使用程序形成影响。
(4)布式事情:使用程序和数据库的编码事情能够分离自力举行,而不会互相压抑。
由以上的剖析能够看到,在使用程序中利用存储历程是很有需要的。
两种分歧的存储历程挪用办法
为了凸起新办法的长处,起首先容一下在.NET中挪用存储历程的“官方”办法。别的,本文的一切示例程序均事情于SqlServer数据库上,别的情形相似,今后不再逐一申明。本文一切例子均接纳C#言语。
要在使用程序中会见数据库,一样平常性的步骤是:起首声明一个数据库毗连SqlConnection,然后声明一个数据库命令SqlCommand,用来实行SQL语句和存储历程。有了这两个工具后,就能够依据本人的必要接纳分歧的实行体例到达目标。必要增补的是,不要健忘在页面上增加以下的援用语句:usingSystem.Data.SqlClient。
就实行存储历程来讲,假如实行的是第一类存储历程,那末就要用一个DataAdapter将了局添补到一个DataSet中,然后就能够利用数据网格控件将了局出现在页面上了;假如实行的是第二和第三种存储历程,则不必要此历程,只必要依据特定的前往判断操纵是不是乐成完成便可。
(1)实行一个没有参数的存储历程的代码以下:
SqlConnectionconn=newSqlConnection(“connectionString”);
SqlDataAdapterda=newSqlDataAdapter();
da.SelectCommand=newSqlCommand();
da.SelectCommand.Connection=conn;
da.SelectCommand.CommandText="NameOfProcedure";
da.SelectCommand.CommandType=CommandType.StoredProcedure;
然后只需选择得当的体例实行此处历程,用于分歧的目标便可。
(2)实行一个有参数的存储历程的代码以下(我们能够将挪用存储历程的函数声明为ExeProcedure(stringinputdate)):
SqlConnectionconn=newSqlConnection(“connectionString”);
SqlDataAdapterda=newSqlDataAdapter();
da.SelectCommand=newSqlCommand();
da.SelectCommand.Connection=conn;
da.SelectCommand.CommandText="NameOfProcedure";
da.SelectCommand.CommandType=CommandType.StoredProcedure;
(以上代码不异,以下为要增加的代码)
param=newSqlParameter("@ParameterName",SqlDbType.DateTime);
param.Direction=ParameterDirection.Input;
param.Value=Convert.ToDateTime(inputdate);
da.SelectCommand.Parameters.Add(param);
共2页:上一页1[2]下一页
呵呵,那你就关注微软的招聘信息以及别人的招聘经验啊,还有也不一定去做技术的,你如果真的想去就多了解了解。(其实我的意思是说想到微软做技术是很不容易的。 |
|