输出参数ResultType 1.输出参数为简单类型(8个基本+String) 2.输出参数为对象类型 3.输出参数为实体对象类型的集合:虽然输出类型为集合,但是resultType依然写集合的元素类型,eg:resultType="person" 4.输出参数类型为HashMap          --->一个HashMap对应一个人的多个元素(多个属性):查询所有人的属性:List<HashMap<String, Object>>   resultTy…
问题: 今天一同事请教博主,他拼接了一个语句,select表格形式数据,然后使用@@rowcount获取到行数. 但他又有这样特别的需求:想只获取行数而不返回表格数据结果,因为是while循环,不想返回那么多次表格到客户端,而且后面又想复用这个返回表格形式数据的脚本字符串,不想在这个脚本字符串上改成count函数的拼接而影响后面复用脚本. 试图使用这个方法:把脚本在SQL Server Management Studio中打开,右击[查询选项]→[结果]→[网格]→勾选[执行后放弃结果],结果确…
mybatis入门系列二之详解输入与输出参数   基础知识   mybatis规定mapp.xml中每一个SQL语句形式上只能有一个@parameterType和一个@resultType 1. 返回值是一个对象的集合,@resultType中只能写该对象的类型,而不是写list<T> 2. 输入参数可以用#{}和${}两种取值方法,两者区别与联系: 1. 当传入类型为JDBC基本类型(8种java基本类型+String)时,#{}里面可以写成任意值,${}里面必须写value 2. 当传入类…
本文转自:http://www.cnblogs.com/hnsdwhl/archive/2011/07/23/2114730.html 当需要根据外部输入的参数来决定要执行的SQL语句时,常常需要动态来构造SQL查询语句,个人觉得用得比较多的地方就是分页存储过程和执行搜索查询的SQL语句.一个比较通用的分页存储过程,可能需要传入表名,字段,过滤条件,排序等参数,而对于搜索的话,可能要根据搜索条件判断来动态执行SQL语句. 在SQL Server中有两种方式来执行动态SQL语句,分别是exec和s…
1.pl/sql如何定义参数 declare --1)定义参数 -- ban_Id number; ban_Name ); 2.pl/sql如何参数赋值 --2)参数赋值-- ban_Id :; ban_Name :='测试值'; 3.pl/sql如何输出参数 --3)输出参数值-- dbms_output.put_line('测试ID:'|| ban_Id); dbms_output.put_line('测试NAME:'|| ban_Name); 4.pl/sql如何进行判断 --当参数=1,…
create procedure proc_page_withtopmax( @pageIndex int,--页索引 @pageSize int,--每页显示数 @pageCount int output,--总页数,输出参数 @totalCount int output--总条数)asbeginset nocount on; declare @sql nvarchar(1000)set @sql='select top 10 * from tb_testtable where (id> (s…
1.简单的存储过程 create procedure porc_name as select * from 表 go 调用时: exec proc_name 2. 带参数的存储过程 create procedure proc_name @id int, @name nvarchar(50) as select * from 表 where name=@name and id=@id go 调用时: exec proc_name 22,'李四' 3.带输出参数的存储过程 create proc p…
系列博文: JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一 传送门 JavaWeb_(Mybatis框架)使用Mybatis对表进行增.删.改.查操作_二   传送门 JavaWeb_(Mybatis框架)Mapper动态代理开发_三  传送门 JavaWeb_(Mybatis框架)主配置文件介绍_四    传送门 JavaWeb_(Mybatis框架)输入和输出参数_五  传送门 JavaWeb_(Mybatis框架)关联查询_六传送门 传送门…
基础知识 mybatis规定mapp.xml中每一个SQL语句形式上只能有一个@parameterType和一个@resultType 1. 返回值是一个对象的集合,@resultType中只能写该对象的类型,而不是写List<T> 2. 输入参数可以用#{}和${}两种取值方法,两者区别与联系: ① 当传入类型为JDBC基本类型(8种java基本类型+String)时,#{}里面可以写成任意值,${}里面必须写value ② 当传入类型为对象时,两种方式里面都应该写成类中属性名 ③ #{}方…
insert INTO stu(name) VALUES('maimai'); set @ReturnValue=@@IDENTITY; string sql="insert INTO stu(name) VALUES(@name);set @ReturnValue=@@IDENTITY; MySqlParameter[] parameters = { new MySqlParameter("@name", MySqlDbType.VarChar,100),MySqlDbTy…
在上一篇随笔:SqlDataReader读取分页数据,pageCount你是肿么了? 遇到了很让人头疼的问题:SqlDataReader执行带输出参数的存储过程总是获取不到输出参数的正确值.这里将解决办法及分析过程列出,为遇到相同问题的小伙伴提供一种解决方案. 在SqlDataReader读取分页数据,pageCount你是肿么了?的评论中有博友提出将 param[].Direction = ParameterDirection.Output; 该句代码放在执行查询前,确实有这一部分原因.按照该…
一些存储过程通过参数返回值.当参数在SQL表达式或者存储过程中被定义为“输出”,参数值会返回给调用者.返回值存储在 OleDbCommand 或者 SqlCommand 对象的参数集合的参数里.   和下面的示例不同,即使 Connection 和 Command 都没有指定,你仍然可以建立参数,但是你必须创建参数集合和预期类型.     workParam = myCommand.Parameters.Add(); workParam.Value = "CUSTID"; 下面的示例演…
1.不含动态sql.带输出参数存储过程调用实例 1.存储过程代码:   2.EF自动生成代码(包括对应ObjectResult的实体模型): 3.调用存储过程代码实例: 总结: ObjectParameter参数对应输出类型时,不必指定类似Output等 ObjectParameter的命名空间:using System.Data.Objects; ObjectParameter参数的Name是对应存储过程参数字符串去掉@符号, 例如存储过程参数‘@Count int output‘,对应Nam…
1.不含动态sql.带输出参数存储过程调用实例 a.存储过程代码: b.EF自动生成代码(包括对应ObjectResult的实体模型): c.调用存储过程代码实例:  总结: ObjectParameter参数对应输出类型时,不必指定类似Output等 ObjectParameter的命名空间:using System.Data.Objects; ObjectParameter参数的Name是对应存储过程参数字符串去掉@符号,例如存储过程参数‘@Count int output‘,对应Name为…
CREATE PROCEDURE [dbo].[GetNameById] @studentid varchar(8), @studentname nvarchar(50) OUTPUT AS BEGIN SELECT @studentname=studentname FROM student WHERE studentid=@studentid if @@Error<>0 RETURN -1 else RETURN 0 END using (SqlConnection conn = new S…
CREATE PROCEDURE [dbo].[GetNameById] @studentid varchar(), @studentname nvarchar() OUTPUT AS BEGIN SELECT @studentname=studentname FROM student WHERE studentid=@studentid RETURN - else RETURN END using (SqlConnection conn = new SqlConnection(connStr)…
输入参数可以有三种:简单类型,POJO,包装类 关于前两种: http://www.cnblogs.com/xuyiqing/p/8600888.html 这里写一下传递包装类参数: 一个POJO:User package pojo; import java.io.Serializable; import java.util.Date; public class User implements Serializable { private static final long serialVers…
sql server中编写一个存储过程: CREATE PROCEDURE ProGetPWD @username varchar(20), @password varchar(20) OUTPUT AS BEGIN SELECT @password = password FROM Users WHERE username = @username END -------------------------- 下面是.NET中调用存储过程的方法: string strConnection = "u…
//调用存储过程执行类似于2//select count(*) from userinfo where username=username and pwd=pwd and grade=grade3//接受 3个参数分别用来表示用户名.用户密码.用户权限4public bool GetUserinfo(string username,string pwd,string grade)5 {6 //获取连接字符串7 private bool connstring = ConfigurationMana…
不足之处,欢迎指正! 创建有输出参数的存储过程 if exists(select * from sysobjects where name='usp_getPage1') drop procedure usp_getPage1 go create procedure usp_getPage1--存储过程名称 @count int output,--输出参数 ,--参数带默认值 --参数带默认值 as --一个sql语句.ROW_NUMBER ( ) OVER ()返回结果集分区内行的序列号,每个…
一.创建带有输出参数的分页存储过程 use StudentMISDB go select * from Course alter table Course go --update Course set IsDelete=0 ---循环 添加数据 --declare @index int --set @index =0 --while(@index<2) --begin -- insert into Course select Name,ByName,IsDelete from Course --…
Mybatis中输出映射resultType与resultMap的区别 (原文地址:http://blog.csdn.net/acmman/article/details/46509375) 一.resultType 使用resultType进行输出映射,只有查询出来的列名和pojo(实体bean)中的属性名一致,该列才可以映射成功. 如果查询出来的列名和pojo中的属性名全部不一致,没有创建pojo对象.只要查询出来的列名和pojo中的属性有一个一致,就会创建pojo对象. 1.输出简单类型…
(一)使用输入参数 需求:在emp_copy中添加一条记录,empno为已有empno的最大值+1,ename不能为空且长度必须大于0,deptno为60. 创建存储过程: create or replace procedure insert_emp(emp_name in varchar2, dept_no in number) as begin declare max_empno number; begin if(emp_name is null or length(emp_name) =…
10-2. 返回输出参数 问题 想获取存储过程里的一个或多个输出参数的值 解决方案 假设我们有一个像Figure 10-1所示的,出租车辆与租金收入的模型 Figure 10-1.出租车辆与租金收入的模型 我们想知道在指定日期里,收入了几笔租金和金额, 以及车辆的租凭情况. 存储过程Listing 10-7 就是获取这些信息的. Listing 10-7. A Stored Procedure for the Vehicles Rented, the Number of Rentals, and…
异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 后期会在博客首发更新:http://dnt.dkill.net/Article/Detail/312 今天一同志问我这个问题,这个是过程还原: 调用SQLHelper的时候发现输出参数没值了??? 不用sqlhelper也是没有?神马情况? 用sqldataadapter却可以? 吓死宝宝了,赶紧看看啥情况.先换种方法看看 ,,,我去,可以哇!那么是不是ExecuteReader…
场景: 写了一个有返回参数的存储过程,在个另开发人员机器上都正常.其它机器报如题错误.让人郁闷的是,所有调用方都是客户端,根本不存在网上众贴所说的版本不一致问题. 分析: 虽然网上的帖子没有根本解决问题,但还是给了些丝路.参数值类型问题.而且,我也把输出参数赋值语句注释后,也可以正常调用(只是结果没返回).尝试了将类型转为Oracle的OracleString,强制转clr的string,都不行. dicParaOut[kvp.Key] = (string)command.Parameters[…
方法的参数有六种,分别是值参数.引用参数.输出参数.参数数组.命名参数.可选参数. 值参数 值参数是方法的默认类型,通过复制实参的值到形参的方式把数据传递到方法,方法被调用时,系统作两步操作: 在栈中为形参分配空间. 复制实参到形参. 1)在方法被调用前,用作实参的变量a1的引用已经在栈里了. 2)随着方法的开始,系统在栈中为形参分配空间,并从实参复制值. 3)因为a1是引用类型,所以引用被复制,结果实参和形参都引用堆中的同一个对象. 4)因为a2是值类型,所以值被复制,产生了一个独立的数据.…
using (SqlConnection conn = new SqlConnection(this.GetConnectionString(this.WMPDBName))) { SqlCommand cmd = conn.CreateCommand(); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandText = "存储过程名称"; ////输出参数 cmd.Parameters.Add(…
最近做项目需要把以前Vc写的程序整合到VS2005来,用c#写的,以前VC的动态连接库写好了,重写比较麻烦,让C#调用VC dll就好了.但碰到了一个问题:VC中作为输出参数的char*类型的变量应该怎样申明才能正确输出数据呢? 一般说来,在VC中一般的输出参数都为指针或数组的形式,如果是一般类型的指针如整形等,在c#中用ref加上数据变量则可获得返回值.所以我试着把VC中char*输出变量在c#中写成ref string(因为char*在c#中可以写成string或char[]),但发现这样写…
玛德,数据行都返回过来了,就是没有输出参数!!! 扒官方设计文档:这么一段 雷死人了!!! When a stored procedure is called using MySqlCommand.ExecuteReader, and the stored procedure has output parameters, the output parameters are only set after the MySqlDataReader returned by ExecuteReader i…