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框架IOC属性注入
    JSP:在本地获取图片后立即展示选择的图片
    JavaWeb手机短信实现前台利用JS获取随机验证码,倒计时效果
    通过form表单上传文件,后台接收的方法
    封装数据库方法
    JavaWeb无限级分销结构分析
    JavaWeb忘记密码后通过邮箱进入修改密码的界面
    JavaWeb通过快递单号展示物流信息转JSON显示(servlet)
    markdown 语法测试
    example数据库
  • 原文地址:https://www.cnblogs.com/Mr0909/p/2044753.html
Copyright © 2011-2022 走看看