zoukankan      html  css  js  c++  java
  • ado.net中的自动获取存储过程参数

    当数据库中有一个存储过程,而你又不知道参数名,却又要调用其执行的时候,就可以用到这个语法,代码如下:
    SqlConnection con = new SqlConnection(@"server=.\ljzforever;database=test;uid=sa;pwd=ljz");
    SqlCommand cmd = new SqlCommand("getEmp");
    cmd.Connection = con;
    cmd.CommandType = CommandType.StoredProcedure;
    con.Open();
    SqlCommandBuilder.DeriveParameters(cmd);
    cmd.Parameters[1].Value = "1";
    cmd.Parameters[2].Value = "a";
    SqlDataAdapter dap = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    dap.Fill(dt);
    con.Close();
    gvData.DataSource = dt;
    其中表结构为:
    表名:emp
    表字段:id int, name varchar(20)
    getEmp为我的存储过程名
    gvData为一个datagridview
    获取参数的语法只有一句话:SqlCommandBuilder.DeriveParameters(cmd);
    是个静态方法,他要求打开数据库,并将获取的参数填入cmd的数据对象集合中
    注意:
    1.他要求打开数据库
    2.获取参数后,集合的第一个参数的类型为返回值类型
    3.获取参数的顺序为存储过程定义的顺序,所以要小心
    4.如果有出参,记得起码要赋一个dbnull值
  • 相关阅读:
    Nginx反向代理与负载均衡应用实践(一)
    Nginx基础详细讲解
    RabbitMQ
    GlusterFS
    AWK的使用
    Grep的过滤使用
    Sed的查,删,增,改
    jumpserver
    FTP
    hdu 3689 Infinite monkey theorem
  • 原文地址:https://www.cnblogs.com/zhuawang/p/2149313.html
Copyright © 2011-2022 走看看