C#mysql存儲過程以及應用


mysql存儲過程:

首先在數據庫執行一個存儲過程:

//創建名稱為gettest的存儲過程
create PROCEDURE gettest(in xusername VARCHAR(16), out xpassword VARCHAR(16)) BEGIN SELECT password into xpassword from tb_user WHERE username = xusername; end

參數說明:in為傳入參數,out為輸出參數。還要一個inout不常用

里面為sql語句

執行成功后,可通過call調用。查看是否成功

call gettest("admin",@password);
select @password;

此為我的存儲過程調用。

成功后,即可去VS里面應用。

    /// <summary>
    /// 存儲結構
    /// create PROCEDURE  gettest(in xusername VARCHAR(16), out xpassword VARCHAR(16))
    /// BEGIN
    /// SELECT password into xpassword from tb_user WHERE username = xusername;
    /// end 
    /// </summary>
    /// <param name="username"></param>
    /// <returns></returns>
    public String getpassword(String username)
    {
        //返回值
        string password = null;
        //連接數據庫
        MySqlConnection mysqlcon =  this.getConn();
        mysqlcon.Open();
        MySqlCommand mysqlCommand = new MySqlCommand();
        mysqlCommand.Connection = mysqlcon;
        mysqlCommand.CommandText = "gettest";
     //或者 "gettest"為對應存儲過程名稱。mysqlcon為數據庫連接
     //
MySqlCommand mysqlCommand = new MySqlCommand("gettest",mysqlcon);
//執行存儲過程
        mysqlCommand.CommandType = CommandType.StoredProcedure;
        //設置參數 傳入參數mysql為? sql為@
        MySqlParameter username_parameter = new MySqlParameter("?xusername",MySqlDbType.VarChar,16);
     //賦值 username_parameter.Value
= username; mysqlCommand.Parameters.Add(username_parameter); MySqlParameter password_parameter = new MySqlParameter("?xpassword",MySqlDbType.VarChar,16); mysqlCommand.Parameters.Add(password_parameter);
     //輸出參數獲取方法 password_parameter.Direction
= ParameterDirection.Output;
     //執行 mysqlCommand.ExecuteNonQuery(); password
= password_parameter.Value.ToString(); return password; }
一個簡單的存儲過程所有步驟完成。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM