`
chenxueyong
  • 浏览: 341964 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

存储过程调用另一种方式

阅读更多

  public static String AdminUserLogin(string username, string password)
    {
    

        //创建数据库连接和命令的对象
        SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
        SqlCommand myCommand = new SqlCommand("AdminUserLogin", myConnection);

        //指明Sql命令的操作类型是使用存储过程
        myCommand.CommandType = CommandType.StoredProcedure;

        //给存储过程添加参数
        SqlParameter parameterUsername = new SqlParameter("@UserName", SqlDbType.NVarChar, 50);
        parameterUsername.Value = username;
        myCommand.Parameters.Add(parameterUsername);

        SqlParameter parameterPassword = new SqlParameter("@Password", SqlDbType.NVarChar, 50);
        parameterPassword.Value = password;
        myCommand.Parameters.Add(parameterPassword);

        SqlParameter parameterUserID = new SqlParameter("@ID", SqlDbType.Int, 4);
        //指出该参数是存储过程的OUTPUT参数
        parameterUserID.Direction = ParameterDirection.Output;
        myCommand.Parameters.Add(parameterUserID);

        //打开数据库连接
        myConnection.Open();
        //进行数据库操作
        myCommand.ExecuteNonQuery();
        //关闭数据库连接
        myConnection.Close();

        //使用存储过程的输出参数返回UserID并赋值给userId
        int userId = (int)(parameterUserID.Value);
        //判断userId的值,如果为零则说明登录失败,函数返回空字符串,
        //反之把userId转换为字符串返回。
        if (userId == 0)
        {
            return null;
        }
        else
        {
            return userId.ToString();
        }
    }

 

 

CREATE Procedure AdminUserLogin
(
    @UserName   nvarchar(50),
    @Password   nvarchar(50),
    @ID int OUTPUT
)
AS

SELECT
    @ID =ID
   
FROM
    UserInfo
   
WHERE
    User_Name = @UserName
  AND
    Password = @Password

IF @@Rowcount < 1
SELECT
    @ID = 0
GO

分享到:
评论

相关推荐

    Springboot调用Oracle存储过程的几种方式.docx

    另一种方式是使用`ProcedureCall`接口,它提供了一种更灵活的方式来调用存储过程。首先,我们需要通过`ProcedureCall`创建一个调用对象,然后设置参数,最后执行调用。例如: ```java public QueryResponse ...

    调用存储过程另一种方法

    总结起来,调用存储过程在.NET中主要有以下几种方式: 1. 使用`SqlHelper`类的`ExecProcedure`方法。 2. 直接通过`SqlConnection`和`SqlCommand`对象,设置`CommandType`为`StoredProcedure`。 3. 在SQL语句中直接...

    Delphi中调用oracle的存储过程返回数据集

    在 Delphi 中调用 Oracle 的存储过程返回数据集有两种方式,一种是使用 Oracle 提供的 OLE DB 提供程序,另一种是使用 Oracle 的 OCI(Oracle Call Interface)提供程序。这里我们主要介绍使用 OLE DB 提供程序的...

    java调用存储过程实例

    包允许将相关的存储过程和类型组织在一起,而游标提供了一种处理查询结果集的方式。 例如,可以创建一个包`TEST_PACKAGE`,其中包含一个类型`Test_CURSOR`作为游标的引用,以及一个存储过程`TESTC`,该过程使用这个...

    oracle 在一个存储过程中调用另一个返回游标的存储过程

    第一种情况是返回的游标是某个具体的表或视图的数据,如: SQL-Code: 代码如下: CREATE OR REPLACE PROCEDURE P_TESTA ( PRESULT OUT SYS_REFCURSOR ) AS BEGIN OPEN PRESULT FOR SELECT * FROM USERS; END P_TESTA;...

    SQL存储过程创建与调用

    一个存储过程可以调用另一个存储过程,实现更复杂的逻辑结构。 8. **事务处理** 存储过程中可以包含事务处理语句,确保一组数据库操作要么全部成功,要么全部回滚。 9. **存储过程与其他数据库对象的交互** ...

    在C#中调用存储过程两种方法

    总的来说,C#中调用存储过程有两种主要方式,一种是基于ADO.NET的原生方式,另一种是通过ORM框架。前者提供了更多的底层控制,后者则提供了更高的抽象层次和更好的代码组织。选择哪种方法取决于项目需求、性能考虑...

    mysql存储过程教程

    2. 存储过程的嵌套:一个存储过程可以调用另一个存储过程。 3. 错误处理:使用`DECLARE`、`BEGIN...END`和`HANDLE`来处理异常。 总结,MySQL的存储过程是提升数据库管理效率的重要工具,掌握其使用方法和最佳实践...

    oracle 存储过程 函数 dblink

    在Oracle数据库中,存储过程是一种预编译好的SQL代码集合,它可以接受输入参数、返回单个值或多个值,并能够执行复杂的数据库操作。存储过程提高了代码的重用性和执行效率,同时也便于实现复杂的业务逻辑。 #### 二...

    sql server调用存储过程

    一个存储过程可以调用另一个存储过程,实现更复杂的逻辑: ```sql CREATE PROCEDUREusp_GetDepartmentEmployees @DepartmentId INT AS BEGIN EXEC usp_GetEmployeesByDepartment @DepartmentId END EXEC ...

    java调用存储过程

    1. **存储过程**:一种预先定义并保存在数据库中的SQL脚本,它可以接受输入参数并返回结果。 2. **CallableStatement**:`java.sql.CallableStatement`接口扩展了`PreparedStatement`接口,用于处理存储过程或函数...

    java调用oracle含有clob参数的存储过程.doc

    Java 调用 Oracle 含有 CLOB 参数的存储过程是一种常用的数据库操作方式,下面是该过程的详细介绍: 1. 连接数据库 在 Java 中连接 Oracle 数据库需要使用 Oracle 的 JDBC 驱动程序,在本文中使用的驱动程序为 ...

    ASP如何调用存储过程.docx

    调用存储过程主要有三种方式:通过Command对象、Connection对象和Recordset对象。以下分别介绍这三种方法: 1. **通过Command对象调用存储过程** 在这个例子中,首先创建一个Command对象`MyComm`,然后设置其`...

    SQL存储过程试题及答案

    SQL存储过程是数据库中的一种程序单元,能够完成特定的数据库操作。今天,我们将讨论三道关于SQL存储过程的试题,这些试题涵盖了存储过程的创建、调用和参数传递等方面。 1. 创建分数存储过程 首先,让我们创建一...

    在.net中调用存储过程的另一种方法

    本文将详细介绍一种在.NET中调用存储过程的非典型方法,通过使用ADO.NET的`OleDbCommand`对象来实现。这种方法适用于需要与SQL Server进行交互的.NET应用程序。 首先,我们需要创建一个存储过程。以下是一个名为`...

    在BIRT(百灵报表)中使用存储过程创建数据源

    调用有两种形式:一种是带有返回值的,另一种是不带返回值的。例如,调用一个简单的存储过程可以写成`{call procedure_name (?, ?)}`,这里的问号代表参数占位符。 创建存储过程数据源或数据集是报表设计的关键步骤...

    在ASP.NET中调用存储过程方法

    另一种较新的方法,虽然文中未详述,可能涉及到使用ADO.NET的DbContext或Entity Framework等ORM框架,这些框架提供了更高级别的抽象,简化了存储过程的调用,使得代码更加简洁,同时也更容易维护。例如,在Entity ...

    Mybatis调用MySQL存储过程的简单实现

    存储过程的创建和调用能够提升性能,减少网络流量,并提供了一种安全机制来限制对数据的访问权限。例如,你可以创建一个名为`countDevicesName`的存储过程,接收设备名称作为输入参数,返回设备总数作为输出结果。 ...

    SQL SERVER数据库开发之存储过程应用.rar

    此外,存储过程支持嵌套,即在一个存储过程中调用另一个存储过程,这在处理复杂逻辑时非常有用。 总而言之,"SQL SERVER数据库开发之存储过程应用"教程会涵盖以上这些核心概念,并可能深入到高级主题,如动态SQL、...

Global site tag (gtag.js) - Google Analytics