c#调用存储过程查询表并返回影响的行数

// 在此处放置用户代码以初始化页面

String DBConnStr;

DataSet MyDataSet = new DataSet();

SqlDataAdapter DataAdapter = new SqlDataAdapter();

DBConnStr = "server=192.168.2.120,2433;database=DB_test;uid=sa;pwd=43g";

SqlConnection myConnection = new SqlConnection(DBConnStr);

if (myConnection.State != ConnectionState.Open)

{

myConnection.Open();

}

SqlCommand myCommand = new SqlCommand("Proc_test", myConnection);

myCommand.CommandType = CommandType.StoredProcedure;         //添加输入查询参数、赋予值

myCommand.Parameters.Add("@userInput", SqlDbType.VarChar);

myCommand.Parameters["@userInput"].Value = "zhang,zhangjun";

//添加输出参数

myCommand.Parameters.Add("@Rowcount", SqlDbType.Int);

myCommand.Parameters["@Rowcount"].Direction = ParameterDirection.Output;

myCommand.ExecuteNonQuery();

DataAdapter.SelectCommand = myCommand;

if (MyDataSet != null)

{

DataAdapter.Fill(MyDataSet, "table");

}

//得到存储过程输出参数

string retcount = myCommand.Parameters["@Rowcount"].Value.ToString();

if (myConnection.State == ConnectionState.Open)

{

myConnection.Close();

}

drop proc Proc_test @userInput varchar(2000), @Rowcount INT OUTPUT as

if(@userInput = ‘‘)   begin     RAISERROR (‘输入项不能为空.‘, 17, 1)     RETURN   end

declare @sql varchar(4000);

set @userInput = ‘‘‘‘ + REPLACE(@userInput,‘,‘,‘‘‘,‘‘‘) + ‘‘‘‘

set @sql=‘select * from view_Shop_Order where _name in(‘[email protected]+‘)‘ set @Rowcount=1 print @sql; Exec(@sql)

Proc_test ‘zhang,zhangjun‘,0

时间: 2024-10-05 23:26:58

c#调用存储过程查询表并返回影响的行数的相关文章

EF5中 执行 sql语句使用Database.ExecuteSqlCommand 返回影响的行数 ; EF5执行sql查询语句 Database.SqlQuery 带返回值

一: 执行sql语句,返回受影响的行数 在mysql里面,如果没有影响,那么返回行数为  -1 ,sqlserver 里面  还没有测试过 using (var ctx = new MyDbContext()) { ctx.Database.ExecuteSqlCommand("UPDATE Person SET Name = 'Michael' WHERE PersonID = 1"); } 二 : Database.SqlQuery<T>   EF5执行sql查询语句

mysql 存储过程:提供查询语句并返回查询执行影响的行数

mysql 存储过程:提供查询语句并返回查询执行影响的行数DELIMITER $$ DROP PROCEDURE IF EXISTS `p_get_select_row_number`$$ CREATE PROCEDURE `test_cases`.`p_get_select_row_number`(IN p_select_sql VARCHAR(200), OUT p_count INT(8) ) BEGIN -- 声明 DECLARE cnt INT DEFAULT 0; DECLARE s

SQL Server返回插入数据的ID和受影响的行数

首先看看数据库里面的数据(S_Id为自增长标识列): sql server 中返回上一次插入数据的ID(标识值)有三种方式: 第一种 @@IDENTITY: 1 insert into Student(S_StuNo,S_Name,S_Sex,S_Height) 2 values('013','卫庄','男','185'); 3 4 select @@IDENTITY -- 返回 17 @@IDENTITY可以返回当前连接所有范围内插入最后所生成的标识值(包括任何调用的存储过程和触发器).这个函

SQLCommand.ExecutenonQuery受影响的行数为什么会是-1?

一般我们在执行SQL语句的时候会调用ExecuteNonQuery();然后用一个声明一个int值接受这个受影响的行数,通过判断这个int值,我们可以得知这条SQL语句是否已经执行.通常我们判断就是这个int值大于0,因为我们知道,最起码受影响的行数是1,我们判断大于0就OK了,但是在运行时我们发现我们判断的语句的值为false,为什么呢?最后查了一下MSDN文档,看完解释就明白了. 对于 UPDATE.INSERT 和 DELETE 语句,返回值为该命令所影响的行数.对于所有其他类型的语句,返

PostgreSQL获取操作影响的行数

如何来获取普通的操作所影响的行数,PostgreSQL里面有一个内置的变量DIAGNOSTICS与ROW_COUNT可以做到这一点. 一.环境: DB:9.4beta3 二.准备: postgres=# create table test(id int); CREATE TABLE postgres=# insert into test select generate_series(1,20); INSERT 0 20 postgres=# select * from test; id ----

sql语句影响的行数

全局变量@@RowCount 和函数RowCount_Big()用于返回上一条语句影响的行数.如果行数大于 20 亿,则需要使用ROWCOUNT_BIG(). 1,ROWCOUNT_BIG(): Following a SELECT statement, this function returns the number of rows returned by the SELECT statement. Following an INSERT, UPDATE, or DELETE statemen

.net 更新access数据库 影响的行数为0

在更新Access数据库的时候,明明传入的数据及参数类型都正确,但是一直更新不了,查看影响的行数一直为0 此原因为 C#操作Access数据库的时候更新的参数和条件参数要按照更新语句中的顺序进行设置,如果设置不正确,则会出现以上问题 1 update TPersonnel 2 set pname=@pname, 3 shenfhm=@shenfhm, 4 sex=@sex, 5 phone=@phone, 6 weixing=@weixing, 7 pid=@pid, 8 email=@emai

EF调用存储过程查询表中的部分字段,报数据读取器与指定的“AdventureWorksDWModel.Student”不兼容。某个类型为“Age”的成员在同名的数据读取器中没有对应的列。

实现功能:查询单张表Student中返回指定的列 一:数据库表结构: 二:存储过程: 1 USE [AdventureWorksDW] 2 GO 3 /****** Object: StoredProcedure [dbo].[GetAllStudentInfo] Script Date: 2014/11/18 21:47:36 ******/ 4 SET ANSI_NULLS ON 5 GO 6 SET QUOTED_IDENTIFIER ON 7 GO 8 -- ==============

jfinal 调用 存储过程,并将结果返回

先定义一个类  实现接口 ICallback  因为ICallback中已经有  conn 代码如下:  public class hztjCallBack implements ICallback {     public String hzlx = "1";      public Date ksrq;      public Date zzrq;      public String hzbbm;      public ResultSet rs = null;      Cal