zoukankan      html  css  js  c++  java
  • C#执行存储过程

    返回单个值   

       /// </summary>
            /// <param name="user">用户信息</param>
             /// <returns></returns>
             public static int VerifyUser(clsUser user)
              {
                 int iRet;
                 string sql = String.Format("EXECUTE VerifyUser @myVerifyReader OUTPUT,'{0}','{1}'",user.username,user.password); //执行的T-SQL串
                  SqlCommand scmd = new SqlCommand(sql, conn); 
    
                scmd.CommandType = CommandType.StoredProcedure;
                scmd.Parameters.Add(new SqlParameter("@myVerifyReader",SqlDbType.Int)); 
                scmd.Parameters["@myVerifyReader"].Direction = ParameterDirection.Output; 
    
                //  DBOpen(conn); //在返回值上有问题  
                scmd.ExecuteNonQuery();
    iRet = (int)scmd.Parameters["@myVerifyReader"].Value; DBClose(conn);

    return iRet;
    }

    sql

    /*
    * VerifyUser 存储过程
    * 用途:验证用户登陆
    */
    CREATE PROCEDURE VerifyUser
    (
        @myVerifyReader int OUTPUT, --返回结果
        @username varchar(50), --用户名
        @userpassword varchar(50) --用户密码
    )
    AS
    IF EXISTS(SELECT [id] FROM [Users] WHERE username = @username AND userpassword = @userpassword)
        SET @myVerifyReader = 0 --通过验证
    
    ELSE IF EXISTS(SELECT [id] FROM [Users] WHERE username = @username)
        SET @myVerifyReader = 1 --用户存在,密码不正确
    ELSE
        SET @myVerifyReader = 2 --用户不存在
    
    RETURN  isnull(@myVerifyReader,3)
    -------------------------------------------------
    GO

    返回一个表

    //连接数据库
            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = "Data Source=KARL;Initial Catalog=ER;Persist Security Info=True;User ID=sa;Password=sa";
            SqlCommand command = new SqlCommand("proc_getMovieID", conn);
            conn.Open();
            command.CommandType = CommandType.StoredProcedure;
            command.Parameters.Add("@movieName", SqlDbType.NVarChar, 50);
            command.Parameters["@movieName"].Value = movieName;
            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = command;
            DataSet ds = new DataSet();
            da.Fill(ds, "tables");
    
            //计算movieID
            Int32 movieID;
            if (ds.Tables[0].Rows.Count == 0)
                movieID = -1;
            else
                movieID = int.Parse(ds.Tables[0].Rows[0][0].ToString());
            //关闭数据库
            conn.Close();
            return movieID;
  • 相关阅读:
    【模版 Luogu P3808/P3796/P5357】AC自动机(简论)
    2019暑假 诸暨海亮集训游记
    【数据结构模版】可持久化线段树 && 主席树
    2019浙江集训——待整理的知识点、博客和题解
    浅谈树链剖分 F&Q
    Luogu P1967 NOIP2013 货车运输
    最小树形图(朱刘算法)--学习笔记
    Luogu P43916 图的遍历
    pytest扫盲12--assert断言
    pytest扫盲11--xfail参数详解
  • 原文地址:https://www.cnblogs.com/panmy/p/5625078.html
Copyright © 2011-2022 走看看