//带参数的SQL语句
private void sql_param()
{
SqlConnection conn = new SqlConnection("server=WIN-OUD59R7EHCH;uid=sa;pwd=123456;database=china");
string sql = "select *from test where uid=@myid";
SqlCommand comm = new SqlCommand(sql,conn);
SqlParameter sp = comm.Parameters.Add("@myid",SqlDbType.Int);
sp.Value = ;
comm.CommandType = CommandType.Text;
SqlDataAdapter sda = new SqlDataAdapter(comm);
DataSet ds = new DataSet();
sda.Fill(ds,"test");
this.dataGridView1.DataSource = ds.Tables[];
} //标准的存储过程
private void sql_proc()
{
SqlConnection conn = new SqlConnection("server=WIN-OUD59R7EHCH;uid=sa;pwd=123456;database=china");
conn.Open();
string sql = "proc_out";
SqlCommand comm = new SqlCommand(sql, conn);
//将Command执行类型改为存储过程的方式,默认为Text
comm.CommandType = CommandType.StoredProcedure;
//传递一个输入参数,需要赋值
SqlParameter sp = comm.Parameters.Add("@uid",SqlDbType.Int);
sp.Value = ;
//定义一个输出参数,不许需要赋值。Direction用来描述参数的类型
//Direction默认为输入参数,还有输出参数和返回值
sp = comm.Parameters.Add("@output",SqlDbType.VarChar,);
sp.Direction = ParameterDirection.Output;
/*定义过程的返回值参数,过程执行完之后,将把过程的返回值
* 赋给myreturn的Parameters赋值
*/
sp = comm.Parameters.Add("myreturn",SqlDbType.Int);
sp.Direction = ParameterDirection.ReturnValue;
/*使用SqlDataAdapter将自动完成数据库的打开和关闭过程,
* 并将执行t-sql语句或存储过程
*
* 如果存储过程只是执行相关操作,如级联删除或者更新,
* 使用sqlcommand的execute方法即可
*
*/
try
{
SqlDataAdapter sda = new SqlDataAdapter(comm);
DataSet ds = new DataSet();
comm.ExecuteNonQuery();
//在执行完存储过程之后,可得到输出参数
string myout = comm.Parameters["@output"].Value.ToString();
//打印输出参数
MessageBox.Show("打印输出参数:" + myout);
//打印存储过程返回值
myout = comm.Parameters["myreturn"].Value.ToString();
MessageBox.Show("存储过程返回值:" + myout); sda.Fill(ds, "test");
this.dataGridView1.DataSource = ds.Tables[];
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
finally
{
conn.Close();
} } //简易的存储过程的使用
private void jyc()
{
SqlConnection conn = new SqlConnection("server=WIN-OUD59R7EHCH;uid=sa;pwd=123456;database=china");
string sql = "execute proc_out 1,'12'";
SqlCommand comm = new SqlCommand(sql,conn);
SqlDataAdapter da = new SqlDataAdapter(comm);
DataSet ds = new DataSet();
da.Fill(ds,"test");
this.dataGridView1.DataSource = ds.Tables[]; }

存储过程

create proc proc_out @uid int,@output varchar() output as
--select结果集
select *from test where uid=@uid
set @output = '记录总数:'+convert(varchar(),(select count(*) from test))
return ;
go

最新文章

  1. [BI项目记]-搭建代码管理环境之服务端
  2. 如何处理Win7连接vpn时报错789的问题
  3. PHP调用SQL Server存储过程
  4. 0728关于html的几个基础知识点
  5. SpringMVC接收参数的注解笔记
  6. ACdream 1112 Alice and Bob(素筛+博弈SG函数)
  7. winform的datagridview单元格输入限制和右键单击datagridview单元格焦点跟着改变
  8. netty 粘包问题处理
  9. 发布GeoServer后预览提示下载wms文件
  10. install font
  11. 基于binlog来分析mysql的行记录修改情况(python脚本分析)
  12. Nodejs的模块系统以及require的机制
  13. Tomcat启动中的一些问题
  14. 现代C++新四大名著及C++学习杂谈
  15. MySQL学习13 - 索引
  16. 【js】【图片瀑布流】js瀑布流显示图片20180315
  17. python的文件读写笔记
  18. react 性能优化
  19. IOS开发之UIScrollVIew运用
  20. static & abstract

热门文章

  1. Python3 filter() 函数
  2. 51. N-Queens (Array; Back-Track, Bit)
  3. VMware安装Windows注意
  4. linux中使用locate搜索文件方法记录
  5. 【校招面试 之 剑指offer】第9-2题 用两个队列实现一个栈
  6. 数据流滑动窗口平均值 · sliding window average from data stream
  7. BZOJ2424 [HAOI2010]订货 - 费用流
  8. swift 添加webview
  9. 不能错过的Sketch实用新技巧和资源集锦
  10. CocoStudio