C# 后台调用存储过程

例一丶返回集合

      [WebMethod]
        public object RegisterMethod(string type, string username, string password, string devicecode)
        {
            string connectString = System.Configuration.ConfigurationSettings.AppSettings["connStr"];
            SqlConnection conn = new SqlConnection(connectString);
            conn.Open();
            SqlCommand comm = new SqlCommand();
            comm.Connection = conn;
            comm.CommandText = "Proc_Register";
            comm.CommandType = System.Data.CommandType.StoredProcedure;
            List<SqlParameter> list = new List<SqlParameter>()
                {
                    new SqlParameter("@type",SqlDbType.VarChar),
                    new SqlParameter("@username",SqlDbType.VarChar),
                    new SqlParameter("@password",SqlDbType.VarChar),
                    new SqlParameter("@devicecode",SqlDbType.VarChar)
                };
            list[0].Value = type;
            list[1].Value = username;
            list[2].Value = password;
            list[3].Value = devicecode;
            //list[3].Direction = ParameterDirection.Output;
            comm.Parameters.AddRange(list.ToArray());
            SqlDataAdapter adapter = new SqlDataAdapter(comm);
            DataSet ds = new DataSet();
            adapter.Fill(ds);
            //必须在Fill之后调用
            var result = ds.Tables[0].Rows[0][0].ToString();
            return result;
        }

例二丶执行查询,并返回由查询返回的结果集中的第一行的第一列【ExecuteScalar】

        public object RegisterMethod2(string type, string username, string password, string devicecode)
        {
            try
            {
                string connectString = System.Configuration.ConfigurationSettings.AppSettings["connStr"];
                SqlConnection conn = new SqlConnection(connectString);
                conn.Open();
                SqlCommand comm = new SqlCommand();
                comm.Connection = conn;
                comm.CommandText = "Proc_Register";
                comm.CommandType = System.Data.CommandType.StoredProcedure;
                //传值以及赋值
                SqlParameter[] sps = new SqlParameter[] {
                    new SqlParameter("@type",type),
                    new SqlParameter("@username",username),
                    new SqlParameter("@password",password),
                    new SqlParameter("@devicecode",devicecode)
                  };
                comm.Parameters.AddRange(sps);
                object Result1 = comm.ExecuteScalar();
                return Result1;
            }
            catch (Exception ex)
            {
                return "";
            }
        }

原文地址:https://www.cnblogs.com/chenze-Index/p/10333788.html

时间: 2024-11-11 19:26:29

C# 后台调用存储过程的相关文章

mybatis如何在后台调用存储过程

-- mybatis调用存储过程-- 数据库:mysql5.5一.提出需求 查询得到男性或女性的数量, 如果传入的是2就女性,否则是男性二.准备数据库表和存储过程create table p_user( id int primary key auto_increment, name varchar(10),sex char(2)); insert into p_user(name,sex,code) values('A',"男",1); insert into p_user(name,

C#之调用存储过程(第三章)

C#调用存储过程 本人大学毕业到现在为止有一年多了,工作上碰到了许多问题,多亏博客园的各位兄弟姐妹无私分享,在此感谢各位! 以下内容可能有错漏之处,请大家多多指教. C#后台代码如下: //调用存储过程的方法public static void Startupworkflow(string firstnodename, string secondnodename, string firstact) { SqlConnection conn = new SqlConnection( Configu

导入Excel用户表,调用存储过程

花了一天半的时间学习了一下导入Excel用户表,调用存储过程,主要是学习存储过程.因为之前没有具体在项目中应用过. 这里我们采用导入Excel到临时表,然后存储过程中读取临时表判断数据类型和数据格式,然后保存到正式表. 导入Excel采用spring 的POI技术. 本文内容较多,请选择性阅读. controller里面的代码: /**  * Excel导入用户表,调用存储过程,先导入临时表,再在存储过程中判断,判断通过后导入正式表,错误的则记录错误日志表中. lijianbo  *   * @

EF和LINQ 调用存储过程

好久没有更新文章了,最近项目比较忙都没什么时间来分享最近的问题. 今天遇到一个超级傻逼的问题.C#中调用存储过程,自己code也10来年了,这应该是很简单的问题了.今天有2个新的api,一个只有1个参数, 一个有10多个参数,先前没有注意到对象类型, 以为是EF的DbContext,结果后来才发现是LINQ的DataContext对象.以前调用存储过程都是靠设计界面封装成方法. 现在designer界面有500多张表, 几年没有维护了,大家要修改什么东东都是直接改代码.所以这里以后台代码调用存储

使用CompletionService结合ExecutorService批处理调用存储过程任务实例

此实例为java多线程并发调用存储过程实例,只做代码记载,不做详细描述 1.线程池构造初始化类CommonExecutorService.java package com.pupeiyuan.go; import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadFactory; import java.u

MyBatis入门学习教程-调用存储过程

一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 1 create table p_user( 2 id int primary key auto_increment, 3 name varchar(10), 4 sex char(2) 5 ); 6 7 insert into p_user(name,sex) values('A',"男"); 8 insert into p_user(name,sex) values('B',&qu

FAQ系列 | Spring框架中调用存储过程失败

Spring框架中,调用存储过程同时还需要show create procedure权限,对于普通用户而言,还要授予 select on mysql.proc 权限才能正常 --------------------------------------分割线-------------------------------------- 知数堂 (http://zhishuedu.com)培训是由资深MySQL专家叶金荣.吴炳锡联合推出的专业优质培训品牌,主要有MySQL DBA实战优化和Python

jdbc中的Statement对象和Preparedstatement对象的区别,以及通过jdbc操作调用存储过程

一. java.sql.*   和  javax.sql.*的包的类结构 |- Driver接口: 表示java驱动程序接口.所有的具体的数据库厂商要来实现此接口. |- connect(url, properties):  连接数据库的方法. url: 连接数据库的URL URL语法: jdbc协议:数据库子协议://主机:端口/数据库 user: 数据库的用户名 password: 数据库用户密码 |- DriverManager类: 驱动管理器类,用于管理所有注册的驱动程序 |-regis

后台调用外部程序的完美实现

最近在做的一个软件,其中有一部分功能需要调用其它的软件来完成,而那个软件只有可执行文件,根本没有源代码,幸好,我要做的事不难,只需要在我的程序启动后,将那个软件打开,在需要的时候,对其中的一个文本矿设置一些文字,再点击一个按钮就可以了. 说到这里,相信你也有了对该功能的一些初步设想了,没错,其基本思路就是:1)调用CreateProcess()打开目标程序.2)用FindWindow()找到目标程序的窗口Handle.3)找到文本框的Handle,以及按钮的MessageID,用SendMess