mysql存储过程及c#调用标准版

王朝mysql·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

private string shuju_lianjie(string name, string email, string password)

{

//////////////////////////////////////////////////////////////////////////////

///获取用户名、邮件及设定密码,增加到数据库的用户表后返回该用户注册id值,不考虑 安全,仅仅表示代码的写作范例是否合乎要求

///存储过程为:

///CREATE PROCEDURE `yuan_user_cc`(in xname varchar(100),in xemail varchar(100),in xpassword varchar(100),out xid integer)

///begin

///insert into yuan_user(name,email,password) values(xname,xemail,xpassword);

///select id into xid from yuan_user where name=xname;

///end

//////////////////////////////////////////////////////////////////////////////

Int16 id;//返回的id值

MySqlConnection mysqlcon;

MySqlDataAdapter mysqldata = new MySqlDataAdapter();

DataSet dataset = new DataSet();

mysqlcon = new MySqlConnection("server=localhost; user id=root; password=123; database=yuan_test; pooling=false;charset=gb2312");

mysqldata.SelectCommand = new MySqlCommand();

mysqldata.SelectCommand.Connection = mysqlcon;

mysqldata.SelectCommand.CommandText = "yuan_user_cc";

mysqldata.SelectCommand.CommandType = CommandType.StoredProcedure;

//设置参数,添加到数据库

MySqlParameter name_parameter = new MySqlParameter("?xname", MySqlDbType.VarChar,100);//mysql的存储过程参数是以?打头的!!!!

name_parameter.Value = name;

mysqldata.SelectCommand.Parameters.Add(name_parameter);

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

MySqlParameter email_parameter = new MySqlParameter("?xemail", MySqlDbType.VarChar, 100);//mysql的存储过程参数是以?打头的!!!!

email_parameter.Value = email;

mysqldata.SelectCommand.Parameters.Add(email_parameter);

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

MySqlParameter password_parameter = new MySqlParameter("?xpassword", MySqlDbType.VarChar, 100);//mysql的存储过程参数是以?打头的!!!!

password_parameter.Value = password;

mysqldata.SelectCommand.Parameters.Add(password_parameter);

//++++++++++++++++++++++++++返回值++++++++++++++++++++++++++++++++++++++++++

MySqlParameter id_parameter = new MySqlParameter("?xid", MySqlDbType.Int16,15);//mysql的存储过程参数是以?打头的!!!!

id_parameter.Direction=ParameterDirection.Output;

mysqldata.SelectCommand.Parameters.Add(id_parameter);

//+++++++++++++++++++++++++打开数据库,插入数据,返回id值+++++++++++++++++++

try

{

mysqldata.Fill(dataset, "yuan_user_cc");

id = (Int16)id_parameter.Value;

return id.ToString();

}

catch (MySqlException ex)

{

MessageBox.Show(ex.Message);

return String.Empty;

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航