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);
  • 相关阅读:
    pip不是内部或外部命令也不是可运行的程序或批处理文件的问题
    动态规划 leetcode 343,279,91 & 639. Decode Ways,62,63,198
    动态规划 70.climbing Stairs ,120,64
    (双指针+链表) leetcode 19. Remove Nth Node from End of List,61. Rotate List,143. Reorder List,234. Palindrome Linked List
    建立链表的虚拟头结点 203 Remove Linked List Element,82,147,148,237
    链表 206 Reverse Linked List, 92,86, 328, 2, 445
    (数组,哈希表) 219.Contains Duplicate(2),217 Contain Duplicate, 220(3)
    重装系统
    java常用IO
    端口
  • 原文地址:https://www.cnblogs.com/ansiboy/p/2042849.html
Copyright © 2011-2022 走看看