C#调用MySQL存储过程
2013-07-11 22:44
351 查看
C#调用MySQL存储过程
博客分类:
C#.NET
MySQLCC++C#
Sql代码
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
C#代码
private string shuju_lianjie(string name, string email, string password)
{
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;
}
}
博客分类:
C#.NET
MySQLCC++C#
Sql代码
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
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
C#代码
private string shuju_lianjie(string name, string email, string password)
{
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;
}
}
相关文章推荐
- C#中调用mysql存储过程出现的问题
- c#调用Mysql带参数的存储过程
- c#调用Mysql带参数的存储过程
- C#中调用mysql存储过程出现SELECT command denied for table 'proc'
- mysql存储过程及c#调用标准版
- C#中调用MySQL存储过程的方法
- C#调用mysql存储过程方法
- C#调用mysql查询存储过程
- C#中调用mysql存储过程出现的问题
- C#调用存储过程简单完整例子
- JFinal调用Mysql存储过程方法
- c#调用带输出参数的存储过程
- mysql中的存储过程、触发器、视图是如何创建的,以及PHP中是如何调用的
- shell 调用mysql 存储过程判断真假
- 简单的PHP调用MYSQL存储过程的类
- MySQL存储过程例子,包含事务,输出参数,嵌套调用,游标,循环等等
- MySQL 存储过程游标嵌套,触发器调用存储过程
- MySQL存储过程以及在JAVA中的程序调用
- 在C#中使用EntityFramework(EF)生成实体进行存储过程的调用
- 在C#.NET中怎样调用db2存储过程