Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Yêu cầu ví dụ hợp pháp về việc gọi thủ tục được lưu trữ C #:MYSQL

Tôi tin rằng mã và hình ảnh nói lên nhiều điều hơn bao giờ hết.

Lớp C # DB (Lớp DB có conn như một chuỗi kết nối):

// Note: this is an instance (myDB in terms of the GUI Object)

using System.Data;
using MySql.Data.MySqlClient;
...
...
public long MultBySeven(long theNum)
{   // Call a Mysql Stored Proc named "multBy7"
    // which takes an IN parameter, Out parameter (the names are important. Match them)
    // Multiply the IN by 7 and return the product thru the OUT parameter

    long lParam = 0;
    using (MySqlConnection lconn = new MySqlConnection(connString))
    {
        lconn.Open();
        using (MySqlCommand cmd = new MySqlCommand())
        {
            cmd.Connection = lconn;
            cmd.CommandText = "multBy7"; // The name of the Stored Proc
            cmd.CommandType = CommandType.StoredProcedure; // It is a Stored Proc

            // Two parameters below. An IN and an OUT (myNum and theProduct, respectively)
            cmd.Parameters.AddWithValue("@myNum", theNum); // lazy, not specifying ParameterDirection.Input;
            cmd.Parameters.AddWithValue("@theProduct", MySqlDbType.Int32);
            cmd.Parameters["@theProduct"].Direction = ParameterDirection.Output; // from System.Data
            cmd.ExecuteNonQuery(); // let it rip
            Object obj = cmd.Parameters["@theProduct"].Value;
            lParam = (Int32)obj;    // more useful datatype
        }
    }
    return (lParam);
}

Lớp kiểm tra GUI của C #:

private void btnTestInOut_Click(object sender, EventArgs e)
{   // This GUI Layer call thru the use of a business object or data layer object (`myDB`)
    long localHere = myDB.MultBySeven(11);
}

Thủ tục đã lưu trữ (lấy một số, nhân với 7):

DROP PROCEDURE IF EXISTS multBy7;
DELIMITER $
CREATE PROCEDURE multBy7
(   IN myNum INT,
    OUT theProduct INT
)
BEGIN
    SET theProduct=myNum*7;
END$
DELIMITER ;

Chế độ xem gỡ lỗi (đọc:nó hoạt động. 11x7 =77):

MySQL Connector 6.9.9.0 / Visual Studio 2015 :

Xem thêm 5.10.1 Sử dụng Stored Quy trình từ Trình kết nối / Mạng , tuổi không xác định.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phao hay số thập phân cho giá?

  2. Mảng truy vấn Meta trong WordPress

  3. Chuyển đổi tệp BibTex thành các mục nhập cơ sở dữ liệu bằng Python

  4. JSON trả lại không hoạt động bình thường

  5. MySQL THAM GIA VÀ SỬ DỤNG?