• Linq to MySQL 存储的使用


    下面主要介绍 Linq to MySQL (ALinq for MySQL),如果你还不知道 ALinq 是什么,请点击这里。 

    完整的 Sample 位于 ALinq 的安装目录下的子目录 Samples\CSharpe\OracleSamples.zip 或 Samples\VB\OracleSamples.zip 。

    Sample 的使用:打开该工程,然后运行 Sample3_StoreProcedure ,然后点击 Create Procedure 按钮创建存储过程。

     

    示例1:

    步骤一:在数据库中创建存储过程,下面这个存储过程是用来添加一个 Category 到数据库中。

    CREATE PROCEDURE ADD_CATEGORY(IN CATEGORY_NAME VARCHAR(30), IN CATEGORY_DESCRIPTION TEXT)

    BEGIN
    INSERT INTO CATEGORIES (CategoryName, Description)
    Values (category_name, category_description);
    END

    步骤二:将存储过程映射到 DataContext 实体类中的方法函数。

    [Function(Name = "ADD_CATEGORY")]
    public void AddCategory(
    [Parameter(Name
    = "CATEGORY_NAME")]
    string name,
    [Parameter(Name
    = "CATEGORY_DESCRIPTION")]
    string description)
    {
    ExecuteMethodCall(
    this, (MethodInfo)MethodBase.GetCurrentMethod(), name, description);
    }

    步骤三:调用方法函数

    var db = CreateDatabaseInstance();
    db.AddCategory(txtCategoryName.Text,
    "Description");

     

    示例二:

    步骤一:创建存储过程,下面这个存储过程,是用来获取 Categories 的数量,并赋值给 RETURN_VALUE 参数。

    CREATE PROCEDURE GET_CATEGORIES_COUNT(OUT RETURN_VALUE INT)

    BEGIN
    SELECT COUNT(*) INTO RETURN_VALUE
    FROM CATEGORIES;
    END

    步骤二:将存储过程映射到 DataContext 实体类中的方法函数。由于存储过程中的 RETURN_VALUE 参数为 out,因此,和该参数对应的,方法函数( GetCategoriesCount ) 中的 count 参数也应该设为 out 。 

    [Function(Name = "GET_CATEGORIES_COUNT")]
    public void GetCategoriesCount(
    [Parameter(Name
    = "RETURN_VALUE")]
    out int count)
    {
    count
    = 0;
    var result
    = ExecuteMethodCall(this, (MethodInfo)MethodBase.GetCurrentMethod(), count);
    count
    = (int)result.GetParameterValue(0);
    }

    步骤三:调用方法函数

    int count;
    db.GetCategoriesCount(
    out count);

     

    示例三:

    步骤一:在数据库中创建如下存储过程,该存储过程是通过 CATEGORY_ID 来获得 Categry 记录中的 CategoryName,并且值赋给 RETURN_VALUE 参数 。

    CREATE PROCEDURE GET_CATEGORY_NAME(CATEGORY_ID INT, OUT RETURN_VALUE VARCHAR(30))

    BEGIN
    SELECT CATEGORYNAME INTO RETURN_VALUE
    FROM CATEGORIES
    WHERE CATEGORYID = CATEGORY_ID;
    END

    步骤二:将存储过程映射到 DataContext 实体类中的方法函数。

    [Function(Name = "GET_CATEGORY_NAME")]
    public void GetCategoryName(
    [Parameter(Name
    = "CATEGORY_ID")]
    int id,
    [Parameter(Name
    = "RETURN_VALUE")]
    out string name)
    {
    name
    = null;
    var result
    = ExecuteMethodCall(this, (MethodInfo)MethodBase.GetCurrentMethod(), id, name);
    name
    = (string)result.GetParameterValue(1);
    }

    步骤三:调用方法函数

    string name;
    db.GetCategoryName(Convert.ToInt32(txtCategorID.Text),
    out name);
  • 相关阅读:
    安装VMtools vim编辑器的使用 压缩包命令 Linux下的用户管理 (第三天)
    VM虚拟机安装 常用Linux命令 网卡配置 (第二天)
    数据库的交互模式 常用的dos命令 (第一天)
    Validate US Telephone Numbers FreeCodeCamp
    Arguments Optional FreeCodeCamp
    Everything Be True FreeCodeCamp
    Binary Agents FreeCodeCamp
    Steamroller FreeCodeCamp
    Drop it FreeCodeCamp
    Smallest Common Multiple FreeCodeCamp
  • 原文地址:https://www.cnblogs.com/ansiboy/p/2042849.html
Copyright © 2020-2023  润新知