`
v5browser
  • 浏览: 1135989 次
社区版块
存档分类
最新评论

C#获取一个即返回结果集,又返回值的存储过程

 
阅读更多

方法:

string View_Name = "";
                        try
                        {
                            // 在此处放置用户代码以初始化页面
                            String DBConnStr;
                            DataSet MyDataSet = new DataSet();
                            System.Data.SqlClient.SqlDataAdapter DataAdapter = new System.Data.SqlClient.SqlDataAdapter();
                            string serverIP = ConfigurationManager.AppSettings["ServerIP"];
                            string serverUser = ConfigurationManager.AppSettings["ServerUser"];
                            string dbName = ConfigurationManager.AppSettings["DbName"];
                            string userPwd = ConfigurationManager.AppSettings["UserPwd"];
                            DBConnStr = "server=" + serverIP + ";database=" + dbName + ";pwd=" + userPwd + ";uid=" + serverUser + "";
                            System.Data.SqlClient.SqlConnection myConnection = new System.Data.SqlClient.SqlConnection(DBConnStr);
                            if (myConnection.State != ConnectionState.Open)
                            {
                                myConnection.Open();
                            }
                            System.Data.SqlClient.SqlCommand myCommand = new System.Data.SqlClient.SqlCommand("GetXiaFa_Record_Tow", myConnection);
                            myCommand.CommandType = CommandType.StoredProcedure;
                            //添加输入查询参数、赋予值
                            myCommand.Parameters.Add("@PipeIDs", SqlDbType.VarChar);
                            myCommand.Parameters["@PipeIDs"].Value = pips;
                            myCommand.Parameters.Add("@DateStart", SqlDbType.VarChar);
                            myCommand.Parameters["@DateStart"].Value = sbutract;
                            myCommand.Parameters.Add("@DateEnd", SqlDbType.VarChar);
                            myCommand.Parameters["@DateEnd"].Value = currentDate;
                            myCommand.Parameters.Add("@cnt", SqlDbType.VarChar);
                            myCommand.Parameters["@cnt"].Value = cnt;
                            myCommand.Parameters.Add("@Status", SqlDbType.VarChar);
                            myCommand.Parameters["@Status"].Value = SendStatus;
                            myCommand.Parameters.Add("@Destination_no", SqlDbType.VarChar);
                            myCommand.Parameters["@Destination_no"].Value = this.txtDesno.Text;
                            myCommand.Parameters.Add("@Sms_SendContents", SqlDbType.VarChar);
                            myCommand.Parameters["@Sms_SendContents"].Value = this.txtSmsContents.Text;
                            myCommand.Parameters.Add("@user_code", SqlDbType.VarChar);
                            myCommand.Parameters["@user_code"].Value = selectUser;
                            myCommand.Parameters.Add("@MessageType", SqlDbType.VarChar);
                            myCommand.Parameters["@MessageType"].Value = "1";
                            myCommand.Parameters.Add("@IsStatus", SqlDbType.VarChar);
                            myCommand.Parameters["@IsStatus"].Value = userInfo.IsStatus;
                            myCommand.Parameters.Add("@pageIndex", SqlDbType.VarChar);
                            myCommand.Parameters["@pageIndex"].Value = this.PageInfo.CurrentPageIndex - 1;
                            myCommand.Parameters.Add("@pageSizes", SqlDbType.VarChar);
                            myCommand.Parameters["@pageSizes"].Value = this.PageInfo.PageSize;
                            //添加输出参数
                            myCommand.Parameters.Add("@view_name", SqlDbType.VarChar, 50);
                            myCommand.Parameters["@view_name"].Direction = ParameterDirection.Output;


                            myCommand.ExecuteNonQuery();
                            DataAdapter.SelectCommand = myCommand;

                            DataAdapter.Fill(MyDataSet, "table");

                            //获取数据条数
                            if (MyDataSet != null && MyDataSet.Tables.Count > 0)
                            {
                                for (int i = 0; i < MyDataSet.Tables[0].Rows.Count; i++)
                                {
                                    PageCount += int.Parse(MyDataSet.Tables[0].Rows[i]["Counts"].ToString());
                                }
                            }
                            MyDataSet.Dispose();
                            //得到存储过程输出参数
                            View_Name = myCommand.Parameters["@view_name"].Value.ToString();
                            if (myConnection.State == ConnectionState.Open)
                            {
                                myConnection.Close();
                            }
                        }
                        catch (Exception ex)
                        {
                            Base.WriteErrorLog("下发记录查询3天内——创建视图异常:" + ex.Message.Replace(Environment.NewLine, string.Empty), HttpContext.Current.Server.MapPath("ErrorLog\\"));
                        }
                        if (View_Name != "")
                        {
                            Dictionary<string, object> dicTo = new Dictionary<string, object>();
                            dicTo.Add("viewName", View_Name);
                            dicTo.Add("pageIndex", int.Parse(this.PageInfo.CurrentPageIndex.ToString()) - 1);
                            dicTo.Add("pageSizes", this.PageInfo.PageSize);
                            DataSet ds = Base.GetDataSet("dbo.GetXiaFa_Record_View", dicTo);
                            if (ds != null && ds.Tables.Count > 0)
                            {
                                dt2 = ds.Tables[0];
                            }
                        }

分享到:
评论

相关推荐

    C#获取存储过程的返回参数值

    C#获取存储过程的返回参数值和返回值,代码祥细,值得参考

    使用C#代码获取存储过程返回值

    /// 执行存储过程,返回 返回值 /// /// 存储过程名 /// 存储过程参数 /// 执行存储过程的返回值 public static int RunProcedureWithReturn(string storedProcName, IDataParameter[] parameters) { using (SqlC

    C#语法及存储过程.docx

    create procedure user //创建一个存储过程 @NAME nvarchar(50) //创建变量,数据类型及初始值 .................. //创建变量,数据类型及初始值 .................. //创建变量,数据类型及初始值 ................

    C#微软培训资料

    第三章 编写第一个应用程序 .20 3.1 Welcome 程序 .20 3.2 代 码 分 析 .20 3.3 运 行 程 序 .23 .4 添 加 注 释 .25 3.5 小 结 .27 第二部分 C#程序设计基础.28 第四章 数 据 类 型 .28 4.1 值 类 型...

    c# 加密和解密相关代码

    如果两个二进制数的相应位中一个为1 一个为0,则返回1,最后得到的结 果为二进制值11000,该值转换为十进制为24,所以得到的加密结果为24。而解密过程也很简单,只是将加密 结果24与加密数字15 进行“异或”运算,将...

    在一小时内学会 C#(txt版本)

    在一小时内学会 C#。...你可以使用 unsafe 修饰符在 C# 中定义一个不安全上下文。在不安全上下文中,你可以插入不安全代码,如 C++ 的指针等。参见以下代码: 复制内容到剪贴板 代码: public unsafe MyFunction...

    C#全能速查宝典

    《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表...,共包含562个C#编程中常用的属性、方法、类和各种技术...

    C#编程经验技巧宝典

    72 &lt;br&gt;0102 将字符串首字母转换大写 72 &lt;br&gt;0103 如何进行字节数组和字符串的相互转换 72 &lt;br&gt;0104 如何把一个按空格分割的字符串存储在一个ArrayList数组中 73 &lt;br&gt;4.2 获取字符串信息 73 ...

    数据库的通用访问代码 asp.net(C#语言)

    /// /// 数据库的通用访问代码 /// 此类为抽象类,不允许实例化,在应用时直接调用即可 /// public abstract class SqlHelper ... /// 返回一个数值表示此SqlCommand命令执行后影响的行数&lt;/returns&gt;..............

    C#5.0本质论第四版(因文件较大传的是百度网盘地址)

    5.7.5 构造器链:使用this调用另一个构造器 168 5.8 静态成员 172 5.8.1 静态字段 172 5.8.2 静态方法 174 5.8.3 静态构造器 175 5.8.4 静态属性 176 5.8.5 静态类 177 5.9 扩展方法 ...

    MysqlDLL,C#操作MYSQL数据库

    //当读取批处理 Transact-SQL 语句的结果时,使数据读取器前进到下一个结果 4、SqlDataApater类  构造方法:SqlDataApater()  SqlDataAdapter(SqlCommand)//初始化 SqlDataAdapter 类的新实例,用指定的 ...

    【。net 专业】 面试题

    您使用一个SqlDataAdapter对象和一个SqlCommand对象通过调用一个存储过程从数据库中获取产品数据。您将SqlCommand对象的CommandType属性设置为CommandType.StoredProcedure,并将它的CommandText属性设置为...

    ado[1].net中文手册 学习 ado.net的重要资料

    输入和输出参数及返回值:描述如何将 DataSet 表中列的内容映射到 DataAdapter 命令属性的输入和输出参数(包括如何从存储过程中检索返回值)。 自动生成的命令:描述如何使用 CommandBuilder 为具有单个表 SELECT ...

    asp.net面试题

    答:SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),...

    基于c#CP3平面网严密平差数据处理

    基于c#CP3平面网严密平差数据处理 using System; using System.Collections.Generic; using System.Collections;//使用动态数组需要添加的语句 using System.ComponentModel; using System.Data; using System....

    Log4NetMessageEncryptor:Log4NetMessageEncryptor

    这有助于快速有效地追踪任何错误,虽然这是一项非常有用的技术,但它有一个很大的缺陷……您可能会在应用程序日志文件中暴露和存储敏感信息。 理想情况下,我们不希望整个日志加密,因为这意味着我们无法查看日志并...

    Visual C++ 2010入门经典(第5版)--源代码及课后练习答案

     ·分享c++程序的错误查找技术,并介绍通用的调试原则讨论每一个windows应用程序的结构和基本元素  ·举例说明如何使用mfc开发本地windows应用程序  ·指导读者用c++和c++/cli设计和创建大量的windows应用程序 ...

Global site tag (gtag.js) - Google Analytics