首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C#调用SQL中的存储过程中有output参数,存储过程执行过程中返回信息

    C#调用SQL中的存储过程中有output参数,类型是字符型的时候一定要指定参数的长度。不然获取到的结果总是只有第一字符。本人就是由于这个原因,折腾了很久。在此记录一下,供大家以后参考!...RoleName nvarchar(10), @Description nvarchar(50), @RoleID int output AS DECLARE @Count int -- 查找是否有相同名称的记录...SqlCommand( "sp_AccountRole_Create", DbConnection ); DbConnection.Open(connectString); // 废置SqlCommand的属性为存储过程...command.Parameters.Add("@Description", SqlDbType.NVarChar, 50); command.Parameters.Add("@RoleID", SqlDbType.Int, 4); // 返回值...permission.PermissionName; command.parameters["@Description"].value = permission.Description; // 可以返回新的

    3.2K70

    浅谈ADO.NET中的对象——Connection、Command、DataReader、DataAdapter、DataSet、DataTable

    : ◆ CommandText:需要执行的SQL语句、表名或存储过程。...◆ CommandType:需要执行的CommandText的类型,默认值是“Text”,表示执行的是SQL语句;值“StoredProcedure表示执行的是存储过程”。...◆ ExecuteReader():返回值为SqlDataReader类型,用于对数据库的查询,下文对SqlDataReader的描述中会说明。 ...更多关于SqlCommand的细节可以参考MSDN:SqlCommand 类 【SqlDataReader】 SqlDataReader主要与SqlCommand结合使用用来快速读取,并且这种读取只能...SqlDataReader的Read()方法返回值为布尔类型,向下读取时如果下一条存在数据,则返回True,如果不存在数据,则返回False,类似于VB中的EOF和BOF。

    1.2K30

    数据库之ADO.NET基础知识整理

    ,行数大于0则返回true                             while (reader.Read())                             {  //一行一行的读取数据读取数据...(带参数的sql语句内部是调用了存储过程) 使用事件查看器查看。 SQL Server仅支持已命名参数@arg1,而Oledb、Odbc仅支持通用参数标记(?)...,SqlDataReader只是相当于放了一个指针(游标),只能读取当前游标指向的行,一旦连接断开就不能再读取。...第二十天 一:补充                //怎样执行数据库中的存储过程                 string sql = "execusp_ChengFa @sum output";...sql语句还是存储过程                     cmd.CommandType = CommandType.StoredProcedure;//设置的为存储过程

    1.9K20

    ADO数据库C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter

    用于执行增,删,改的方法,支持存储过程 1.ExecuteNonQuery 数据库连接字符串: private readonly static string connectionString =...GetScalar 二、 /// /// 执行查询的方法,支持存储过程 /// SQL参数,如果没有参数,则为null /// 返回查询结果的第一行第一列...) /// 执行查询的方法,支持存储过程 /// SQL参数,如果没有参数,则为null /// 读取器SqlDataReader public static SqlDataReader...GetDataSet /// 执行查询的方法,支持存储过程 /// SQL语句或者存储过程名称 /// SQL参数,如果没有参数,则为null /// 数据集...SqlDataAdapter返回的是数据集或者表,可以对其中的数据作任意操作 四,写法上不同: SqlDatReader执行前须先打开数据库,然后须生成一个command对象。

    86830

    C#二十五 连接式访问数据库

    这些操作命令包括执行某个SQL语句或调用某个存储过程。有了命令对象我们就可以对数据库进行增、删、改、查等操作了。...SQL语句 CommandType 命令对象的类型,主要包括两种类型,一表示要执行Sql语句,一种表示要调用存储过程 Parameters 与命令对象关联的参数集合对象 Transaction 与命令对象关联的事物对象...SqlDataReader是一个只进式的记录读取器,它可以一条一条读取检索到的数据。如果数据库是水池,连接对象是管道,那么SqlDataReader就是水龙头,打开水龙头就会不断的流出。 ​ ​...因为SqlDataReader每次只能读取一条记录,所以你需要借助一个循环来读取所有的记录。你可以通过SqlDataReader的Read方法来读取下一条记录。...也就是说,一旦读过返回的列,就不能再读它的值了。 如果已经读取了来自DataReader的数据,但仍然有大量挂起的未读结果,则在关闭DataReader之前先要取消Command。

    10310

    C#项目实战练习:做自己的QQ

    创建数据库   右键对象资源管理器下的数据库,选择新建,为数据库起个名字,点击确定。   右键db_SunTalk下的表,选择新建表,表的设计分别如下。   ...} 返回结果,返回行数   定义一个ExecSQLResult方法来查询数据库,并返回受影响的行数。...datareader = command.ExecuteReader();//生成SqlDataReader return datareader;//返回SqlDataReader...datareader = command.ExecuteReader();//生成SqlDataReader return datareader;//返回SqlDataReader...本博客目的只是记录一下练习过程,没有书本上写的那么详细,本程序并不完美,可以说很不完美,但我们正不是因为不完美才不断学习的吗,这是我们的动力。   文章中可能会存在少许错误,还望各位批评指正!

    7.6K20

    在Entity Framework中使用存储过程(三):逻辑删除的实现与自增长列值返回

    本篇文章通过实例的方式,讨论两个在EF使用存储过程的主题:如何通过实体和存储过程的映射实现逻辑删除;对于具有自增长类型主键的数据表,在进行添加操作的时候如何将正确的值反映在实体对象上。...三、具有自增长列的存储过程定义 接下来我们来讨论另一个常见的场景:如果一个表中存在一个自增长列作为该表的主键,当我们通过提交对应的实体对象进行记录添加操作时,数据库中真正的键值如何返回并赋值给该实体对象...能够返回给被添加的Contact对象,在存储过程中完成添加操作后,应该通过SELECT语句将对应的真实ID返回,这样的存储过程应该这样来写: 1: CREATE PROCEDURE [P_CONTACT_I...这个关系的定义包含在存储过程映射的Result Columns Binding列表中。如下图所示,我设置了存储过程返回列ID和Contact属性ID之间的映射关系。 ?...在Entity Framework中使用存储过程(三):逻辑删除的实现与自增长列值返回 在Entity Framework中使用存储过程(四):如何为Delete存储过程参数赋上Current值?

    1.7K80

    ADO.NET 2.0中的SqlCommand.ExecutePageReader

    在.NET 2.0 PDC或Beta1中,可以看到SqlCommand对象新增了个ExecutePageReader方法,该方法实现了分页读取数据的功能。...对于分页读取数据,在ADO.NET1.1中(当然2.0也适合)一般常用动态构造SQL语句实现:     SqlDataReader GetPage(int pageNumber, int pageSize...= cmd.ExecuteReader(CommandBehavior.CloseConnection); return dr;     }         有时为更好实现分页性能效果,也可以采用存储过程建立临时表的方式进行数据分页...发现这样一个调用顺序:ExecutePageReader()—》SqlResultSet.CompleteOpenForPageReader()—》SqlResultSet.FetchInternal()—》执行存储过程...sp_cursorfetch,也就是实际ExecutePageReader使用了SQLServer的服务器游标进行数据分页读取,但这跟它被cut是否有关?

    39220

    由一个问号引发的原理性理解:PQ表数据读取过程是怎样的?

    今天,有朋友在从一个表(查询)读取数据(使用步骤公式如:表{0}[Sales Team]),尝试使用问号来进行容错处理时,却得到错误的结果! 为什么呢? 其实,如果仔细理解问号(?)...的功能,就不会困惑:问号只是针对从列表中取值的情况具有容错能力,并不是用来处理所有取值错误的情况!局限性其实是很大的! 但是,为什么将从表取数的写法反一反就对了?...(将“表{0}[Sales Team]”改为“表[Sales Team]{0}”) 真聪明!勇于尝试,精神可嘉!...如下图所示: 这就是Power Query里表、行、列引用及其取值方式的基本原理:先列后行(如“table[列]{3}”)是从列表里取值;而先行后列(如“table{3}[列]”),是从记录里取值。...,是对“列表”里取值的容错!所以,前面尝试将“表{0}[Sales Team]”改为“表[Sales Team]{0}”,自然就没问题了! 此外,关于取值时到底应该先列后行,还是先行后列?

    78820

    c# access数据库

    建一个表,请先在设计视图里面设计列名,主键以及类型等 我们这里做一个简单的水果表,如图 你的数据库名为fruit.mdb,这个保存完后是一个数据库文件,里面可以包含各种表,里面的我们建了一个表也叫...,Read() 读到数据返回true但是从第二条开始读 datareader.HasRows 只是检则库中是否有记录,如果有则返回true,还得再用read()读取. datareader.read()...声明:SqlDataReader 提供一种从 SQL Server 数据库读取行的只进流的方式。无法继承此类。...原来是出在HasRows的使用上,只要SqlDataReader存在数据流(数据流不为空)则返回的bool值为真,这样的话,这个循环总执行(难怪使用try ..catch 假死)。...不过还要将循环里的Read()去掉,则每循环一次前进了两行数据。 } FieldCount 是读取有多少列字段,这里是返回的一个整数,读取到的列的个数.

    4.5K20
    领券