• 获取存储过程返回数据


        public SqlConnection conn = new SqlConnection("...");
        public SqlCommand com = new SqlCommand();
        public SqlDataAdapter adpt = new SqlDataAdapter();
        public DataSet set = new DataSet();
        public DataTable dtb = new DataTable();


    //insert,update,delect语句
        public int pro0()
        {
            com.Connection = conn;
            com.CommandType = CommandType.Text;
            com.CommandText = "insert into t_zichan values(id)";
            int i = 0;
            try
            {
                com.Connection.Open();
                i = com.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
            }
            com.Connection.Close();
            //insert,update,delect执行ExecuteNonQuery()返回影响行数 >0表示成功
            //此影响行数为对数据的变化 select语句用ExecuteNonQuery()将返回-1
            return i;
        }
        //select语句
        public DataTable pro1()
        {
            com.Connection = conn;
            com.CommandType = CommandType.Text;
            com.CommandText = "select * from t_zichan";
            //写法1
            com.Connection.Open();
            SqlDataReader reader = com.ExecuteReader();
            dtb.Load(reader);
            com.Connection.Close();
            /*写法2使用SqlDataAdapter
            com.CommandText = "select * from t_zichan; select * from t_user;";
            //一次执行多句查询
            adpt.SelectCommand = com;
            adpt.SelectCommand.Connection.Open();
            adpt.Fill(set);
            //结果集中一张表也可以直接导入表中adpt.Fill(DataTable) 多结果导入adpt.Fill(DataSet)
            dtb = set.Tables[0];
            adpt.SelectCommand.Connection.Close();
            */
            return dtb;
        }

    //
    存储过程返回结果集 public DataSet pro2() { com.Connection = conn; com.CommandType = CommandType.StoredProcedure; com.CommandText = "bbb"; adpt.SelectCommand = com; adpt.SelectCommand.Connection.Open(); adpt.Fill(set); adpt.SelectCommand.Connection.Close(); return set; } //返回影响行数
    public int pro3() { com.Connection = conn; com.CommandType = CommandType.StoredProcedure; com.CommandText = "bbb"; com.Connection.Open(); int i; i = com.ExecuteNonQuery(); com.Connection.Close(); return i; }     //返回结果集的一行一列  适用于查询结果一行一列 比如count(*)查询分页的总行数
    public int pro4() { com.Connection = conn; com.CommandType = CommandType.StoredProcedure; com.CommandText = "ccc"; com.Connection.Open(); int i; i = (int)com.ExecuteScalar(); com.Connection.Close(); return i; } //返回存储过程的几种结果 out参数 return参数 影响行数 结果集
    public string pro5() { com.Connection = conn; com.CommandType = CommandType.StoredProcedure; com.CommandText = "ddd";
    com.Parameters.Add(
    new SqlParameter("@a", SqlDbType.Int)); com.Parameters["@a"].Value = 21; //DECLARE @a int com.Parameters.Add(new SqlParameter("@b", SqlDbType.VarChar,20)); com.Parameters["@b"].Direction = ParameterDirection.Output; //DECLARE @b varchar(20) com.Parameters.Add(new SqlParameter("@return", SqlDbType.Int)); com.Parameters["@return"].Direction = ParameterDirection.ReturnValue; //DECLARE @return int int i = 0; try { com.Connection.Open(); i = com.ExecuteNonQuery(); //异步执行i = com.EndExecuteNonQuery(com.BeginExecuteNonQuery()); //exec @return=ddd @a,@b output dtb.Load(com.ExecuteReader()); //DataSet也可以.Load(reader)装入SqlDataReader } catch (Exception ex) { throw ex; } finally { if (com.Connection.State == ConnectionState.Open) com.Connection.Close(); } string s = ""; s += "Return: " + com.Parameters["@return"].Value.ToString() + ", "; s += "Output: " + com.Parameters["@b"].Value.ToString() + ", "; s += "结果集: 1/" + dtb.Rows[0][0].ToString() + " 2/" + dtb.Rows[0][1].ToString() + ", "; s += "影响行数: " + i + ","; return s; }

     存储过程

    CREATE procedure [dbo].[bbb]
    as
        SELECT  * FROM t_zichan
        SELECT  * FROM t_users
    
    GO
    
    
    CREATE procedure [dbo].[ccc]
    as
        SELECT 5
    
    GO
    
    
    CREATE procedure [dbo].[ddd]
        @a int,
        @b varchar(20) output
    as
        select '一格',78
        set @b = 'output'
        exec Pro_Delete_Zichan @a --产生影响行数
        return @a+1
    GO
  • 相关阅读:
    数组和字符串长度length
    Eclipse最有用快捷键整理
    Eclipse编辑java文件报Unhandled event loop exception错误的解决办法
    Java 删除项目中的.svn信息
    oracle 删除外键约束 禁用约束 启用约束
    Java Sftp上传下载文件
    java 如何判断操作系统是Linux还是Windows
    Javascript-正则表达式-开发中的使用.
    Eclipse和PyDev搭建完美Python开发环境 Windows篇
    ExtJS4为form表单必填项添加红色*标识
  • 原文地址:https://www.cnblogs.com/spider024/p/2973233.html
Copyright © 2020-2023  润新知