在ASP.NET中用存储过程执行SQL语句

   存储过程:是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。by google

  存储过程执行效率比单独的SQL语句效率高。

  样编写存储过程?存储过程在SQL Server 2005对应数据库的可编程性目录下。

  比如,创建一个存储过程

  create procedure procNewsSelectNewNews

  as

  begin

  select top 10 n.id,n.title,n.createTime,c.name from news n

  inner join category c on n.caId=c.id

  order by n.createTime desc

  end

  执行定义好的存储过程

  exec procNewsSelectNewNews

  存储过程返回的是一张表

  public DataTable test(string procName)

  {

  DataTable dt=new DataTable();

  cmd=new SqlCommand(procName,GetConn()); //数据库连接和连接开闭,都放在了GetConn()方法中

  cmd.CommandType=CommandType.StoredProcedure; //定义SQL语句命令类型为存储过程

  using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection));//方法将SQL语句发送给SqlConnection并生产一个SqlDataReader类对象,该SqlDataReader对象包含SQL命令返回的数据

  { dt.Load(sdr); //load查询dataread查询的结果 }

  return dt;

  }

  当一个项目中既要用到SQL语句又要用到存储过程的时候,而执行SQL语句和执行存储过程的方法都差不多,就是相差一个CommandType类型,所以如果有这样的情况,我们可以重构关于SQL语句和存储过程这两个方法

  public DataTable ExecuteQuery(string sqlText,CommandType ct); //不仅传入SQL语句还传入一个命令类型

  {

  DataTable dt=new DataTable();

  cmd=new SqlCommand(sqlText,GetConn());

  cmd.CommandType=ct;

  using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))

  { dt.Load(sdr);}

  return dt;

  }

  查询方法写好之后,就可以写SQL语句或存储过程的方法了

  比如:存储过程

  public DataTable SelectNewNews()

  {

  return sqlhelper.ExecuteQuery(“存储过程名”,CommandType.StoredProcedure)

  }

  SQL语句

  public DataTable SelectAll()

  {

  DataTable dt=new DataTable();

  string sql=”select * from news”;

  dt=sqlhelper.ExecuteQuery(sql,CommandType.Text);·

  return dt

  }

时间: 2024-10-31 04:13:53

在ASP.NET中用存储过程执行SQL语句的相关文章

在ASP.NET中用存储过程执行SQL语句_实用技巧

存储过程执行效率比单独的SQL语句效率高. 样编写存储过程?存储过程在SQL Server 2005对应数据库的可编程性目录下. 比如,创建一个存储过程 复制代码 代码如下: create procedure procNewsSelectNewNews as begin select top 10 n.id,n.title,n.createTime,c.name from news n inner join category c on n.caId=c.id order by n.createT

json-关于asp josn 接到参数 执行 sql语句 报错问题

问题描述 关于asp josn 接到参数 执行 sql语句 报错问题 <%Dim memberSet member = jsObject() dim dbconnectionuplistDBPathSQLSortLboundUboundDim id=request(""jsoncallback"")set dbconnection=Server.CreateObject(""ADODB.Connection"") DBP

让ASP实现可以在线执行SQL语句

sql|语句|在线|执行 基本上的CMS都具备在线执行SQL语句的功能,能让熟悉SQL语言的管理更加自由.下面这段代码可以让ASP实现可以在线执行SQL语句功能.结合你的ASP程序可以达到很好效果,不过如果没有好使用对数据库来说可是一场灾难.程序代码: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><%Option Explicit%><%'// DatebaseDim ConnStr,conn Conn

单独执行很快-SQL存储过程比SQL语句慢,甚至卡死

问题描述 SQL存储过程比SQL语句慢,甚至卡死 因公司业务需要,需要每天凌晨从别的系统(Oracle数据库)取前一天的数据,建了存储过程后,发现执行存储过程经常卡死,单独执行却挺快,不知道是哪里出了问题,求大神帮忙分析下,万分感谢!以下为存储过程代码: USE [HERP_BHYY] GO /****** 对象: StoredProcedure [dbo].[sp_GetHISChargeOReceiptDataInHISDBbyDay] 脚本日期: 12/03/2013 08:36:35 *

ASP中经常使用的SQL语句与教程说明_应用技巧

1,SELECT 语句  在SQL的世界里,最最基础的操作就是SELECT 语句了.在数据库工具下直接采用SQL的时候很多人都会熟悉下面的操作: 复制代码 代码如下: SELECT what FROM whichTable WHERE criteria   执行以上语句就会创建一个存放其结果的查询.  而在ASP页面文件上,你也可以采用以上的一般语法,不过情况稍微不同,ASP编程的时候,ELECT 语句的内容要作为字符串赋给一个变量: 复制代码 代码如下: SQL = "SELECT what 

ASP中经常使用的SQL语句与教程说明

1,SELECT 语句  在SQL的世界里,最最基础的操作就是SELECT 语句了.在数据库工具下直接采用SQL的时候很多人都会熟悉下面的操作: 复制代码 代码如下:SELECT what FROM whichTable WHERE criteria 执行以上语句就会创建一个存放其结果的查询.  而在ASP页面文件上,你也可以采用以上的一般语法,不过情况稍微不同,ASP编程的时候,ELECT 语句的内容要作为字符串赋给一个变量: 复制代码 代码如下:SQL = "SELECT what FROM

存储过程与SQL语句的一个故事

存储过程|语句     我的一位朋友说:他从台湾知名技术作家李维先生的一本书中获悉,如果用存储过程封装SQL语句,系统效率将有极大提升.    他做过实验!!! --我相信朋友做过实验,尽管非亲眼所见.不过我估计他的实验有问题,那样的实验不但蒙蔽了他,也蒙蔽了李维先生(如果他的著作中的内容没有被误会),甚至更多的人.    然而我必须拿出证据,方能使人信服.    后来遇到一个具体的问题:客户端经常要向数据库插入记录.在J2EE中,一个 Entity Bean Home 的 create 方法调

存储过程与SQL语句如何选择

58到家数据库30条军规,有一条是"禁止使用存储过程.视图.触发器.Event", 高并发大数据的互联网业务,架构设计思路是"解放数据库CPU,将计算转移到服务层", 并发量大的情况下,这些功能很可能将数据库拖死,业务逻辑放到服务层具备更好的扩展性,能够轻易实现"增机器就加性能". 数据库擅长存储与索引,在目前的互联网系统架构中,服务器的扩展要比存储的扩展更简单, 需要考虑系统可能的瓶颈在服务器还是数据存储,存储过程有它的优点,应该在开发中合理的

使用BAT批处理执行sql语句的代码_DOS/BAT

1.把待执行Sql保存在一个文件,这里为20110224.sql.2.新建一个扩展名.bat的批处理文件,输入下面命令并保存后,双击.bat文件,系统会自动执行20110224.sql的语句: 复制代码 代码如下: osql -S gdjlc -d TestDB -U sa -P 1 -i 20110224.sql osql参数见下面=======================================================================: E:\>osql