zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    并不对劲的CF1236D&E:Alice&Doll&UnfairGame
    并不对劲的CF1194E:Count The Rectangles
    并不对劲的CF1239B&C&D Programming Task in the Train to Catowice City
    并不对劲的初赛蒙猜凑思路
    并不对劲的CF1237D&E:Balanced Playlist and Binary Search Trees
    并不对劲的???
    并不对劲的P5589
    (简单) POJ 1511 Invitation Cards,SPFA。
    (简单) POJ 3159 Candies,Dijkstra+差分约束。
    (简单) POJ 2502 Subway,Dijkstra。
  • 原文地址:https://www.cnblogs.com/ansiboy/p/2042849.html
Copyright © 2011-2022 走看看