标签:
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; }
一个简单的存储过程所有步骤完成。
标签:
原文地址:http://www.cnblogs.com/ybwyf/p/5450855.html