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('+@userInput+')' set @Rowcount=1 print @sql; Exec(@sql)
Proc_test 'zhang,zhangjun',0???
?
轉載于:https://www.cnblogs.com/lunbawu/p/6604484.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的c#调用存储过程查询表并返回影响的行数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VB 2010 (53)Command对
- 下一篇: 30分钟掌握 C#7