zoukankan      html  css  js  c++  java
  • C# 存储过程 输出参数不能返回 的问题?

    using System;
    using System.Collections.Generic;
    using System.Text;

    using System.Data;
    using System.Data.SqlClient;
    using System.Collections;
    using HelloWinForm.DBUtility;
    using System.Windows.Forms;

    namespace HelloWinForm.DAL
    {
    class Student
    {
    SQLHelper sqlHelper
    = new SQLHelper();//非静态方法,需要实例化类
    /// <summary>
    /// 执行带输入输出参数的存储过程
    /// </summary>
    /// <returns></returns>
    public int procInAndOut()
    {
    SqlParameter[] paramsArr
    =
    {
    sqlHelper.MakeOutParam(
    "@outParam" , SqlDbType.Int , 4),
    sqlHelper.MakeInParam(
    "@inParam" , SqlDbType.NVarChar , 50 ,"tree")
    };
    paramsArr[
    0].Direction = ParameterDirection.Output;
    int lines = sqlHelper.RunProc("proc_InAndOut", paramsArr); //return (int)cmd.Parameters[0].Value;
    return lines;
    }
    /// <summary>
    /// 执行带输入参数的存储过程,返回DataReader,不用此法,不方法,需要再次关闭数据连接
    /// </summary>
    /// <returns></returns>
    public SqlDataReader getDataReader()
    {
    SqlDataReader reader;
    SqlParameter[] paramsArr
    =
    {
    sqlHelper.MakeInParam(
    "@StudentName" , SqlDbType.NVarChar , 50 ,"tree"),
    sqlHelper.MakeInParam(
    "@inParam" , SqlDbType.NVarChar , 50 ,"tree")
    };
    sqlHelper.RunProc(
    "proc_getDataReader", paramsArr, out reader);
    //sqlHelper.Close();//不能在此关闭
    return reader;
    }
    /// <summary>
    /// 如果使用DataReader应该在这里执行打开和关闭.
    /// </summary>
    /// <returns></returns>
    public string getDataFromReader()
    {
    string returnStr = "";
    SqlDataReader reader;
    SqlParameter[] paramsArr
    =
    {
    sqlHelper.MakeInParam(
    "@StudentName" , SqlDbType.NVarChar , 50 ,"tree"),
    sqlHelper.MakeInParam(
    "@inParam" , SqlDbType.NVarChar , 50 ,"tree")
    };
    sqlHelper.RunProc(
    "proc_getDataReader", paramsArr, out reader);
    try
    {
    while (reader.Read())
    {
    returnStr
    += reader.GetInt32(0);
    returnStr
    += reader.GetString(1);
    }
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }
    finally
    {
    sqlHelper.Close();
    }
    return returnStr;
    }
    public string test()
    {
    string str = "";
    SqlDataReader dr
    = SQLHelper.ExecuteReader("select * from Student");
    while (dr.Read())
    {
    str
    += dr["StudentNO"].ToString();
    }
    dr.Close();
    return str;
    }
    public int proc()
    {
    return sqlHelper.RunProc("proc_Test");
    }
    }
    }
  • 相关阅读:
    第一次作业-准备篇
    个人作业——软件工程实践总结&个人技术博客
    个人技术总结-spring boot编写接口和数据返回
    个人作业——软件评测
    结对第二次作业——某次疫情统计可视化的实现
    结对第一次—疫情统计可视化(原型设计)
    软工实践寒假作业(2/2)
    软工实践寒假作业(1/2)
    个人作业-软件工程实践总结
    Android实现多图选择
  • 原文地址:https://www.cnblogs.com/Mr0909/p/2044753.html
Copyright © 2011-2022 走看看