C#调用MySQL存储过程

来源:互联网 发布:星空卫视网络直播源 编辑:程序博客网 时间:2024/05/16 04:24
C#调用MySQL存储过程           
    博客分类:
  • C#.NET
MySQLCC++C# 
Sql代码 复制代码 收藏代码
  1. CREATE PROCEDURE `yuan_user_cc`(in xname varchar(100),in xemail varchar(100),in xpassword varchar(100),out xid integer)  
  2. begin  
  3.             insert into yuan_user(name,email,password)values(xname,xemail,xpassword);  
  4.             select id into xid from yuan_user where name=xname;  
  5. end  
 
C#代码 复制代码 收藏代码
  1. private string shuju_lianjie(string name, string email, string password)  
  2.  {  
  3.   
  4.      Int16 id;//返回的id值  
  5.      MySqlConnection mysqlcon;  
  6.      MySqlDataAdapter mysqldata = new MySqlDataAdapter();  
  7.      DataSet dataset = new DataSet();  
  8.      mysqlcon = new MySqlConnection("server=localhost; user id=root; password=123; database=yuan_test; pooling=false;charset=gb2312");  
  9.      mysqldata.SelectCommand = new MySqlCommand();  
  10.      mysqldata.SelectCommand.Connection = mysqlcon;  
  11.      mysqldata.SelectCommand.CommandText = "yuan_user_cc";  
  12.      mysqldata.SelectCommand.CommandType = CommandType.StoredProcedure;  
  13.      //设置参数,添加到数据库  
  14.      MySqlParameter name_parameter = new MySqlParameter("?xname", MySqlDbType.VarChar,100);//mysql的存储过程参数是以?打头的!!!!  
  15.      name_parameter.Value = name;  
  16.      mysqldata.SelectCommand.Parameters.Add(name_parameter);  
  17.      //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
  18.      MySqlParameter email_parameter = new MySqlParameter("?xemail", MySqlDbType.VarChar, 100);//mysql的存储过程参数是以?打头的!!!!  
  19.      email_parameter.Value = email;  
  20.      mysqldata.SelectCommand.Parameters.Add(email_parameter);  
  21.      //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
  22.      MySqlParameter password_parameter = new MySqlParameter("?xpassword", MySqlDbType.VarChar, 100);//mysql的存储过程参数是以?打头的!!!!  
  23.      password_parameter.Value = password;  
  24.      mysqldata.SelectCommand.Parameters.Add(password_parameter);  
  25.      //++++++++++++++++++++++++++返回值++++++++++++++++++++++++++++++++++++++++++  
  26.      MySqlParameter id_parameter = new MySqlParameter("?xid", MySqlDbType.Int16,15);//mysql的存储过程参数是以?打头的!!!!  
  27.      id_parameter.Direction=ParameterDirection.Output;  
  28.      mysqldata.SelectCommand.Parameters.Add(id_parameter);  
  29.      //+++++++++++++++++++++++++打开数据库,插入数据,返回id值+++++++++++++++++++  
  30.      try  
  31.      {  
  32.          mysqldata.Fill(dataset, "yuan_user_cc");  
  33.   
  34.         id = (Int16)id_parameter.Value;  
  35.          return id.ToString();  
  36.      }  
  37.      catch (MySqlException ex)  
  38.      {  
  39.          MessageBox.Show(ex.Message);  
  40.          return String.Empty;  
  41.      }   
  42.   
  43.   
  44.  }    
原创粉丝点击