asp.net c# mysql存储过程 _MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1625 | 回复: 0   主题: asp.net c# mysql存储过程         下一篇 
dream0110
注册用户
等级:中士
经验:242
发帖:87
精华:0
注册:2012-2-15
状态:离线
发送短消息息给dream0110 加好友    发送短消息息给dream0110 发消息
发表于: IP:您无权察看 2014-12-24 16:54:54 | [全部帖] [楼主帖] 楼主

//asp.net C#

//myql5.0以上

using System.Data; //CommandType , ParameterDirection

using System.Diagnostics; //Debug , visual web developer中调试窗口中输出

public void test()

{

    MySqlConnection conn = new MySqlConnection();

    conn.ConnectionString = "server=localhost;user=root;database=test;port=3306;password=123456;";

    MySqlCommand cmd = new MySqlCommand();

    try

    {

    Debug.WriteLine("Connecting to MySQL...");

    conn.Open();

    cmd.Connection = conn;

    cmd.CommandText = "DROP PROCEDURE IF EXISTS add_emp";

    cmd.ExecuteNonQuery();

    cmd.CommandText = "DROP TABLE IF EXISTS emp";

    cmd.ExecuteNonQuery();

    cmd.CommandText = "CREATE TABLE emp (empno INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name VARCHAR(20), last_name VARCHAR(20), birthdate DATE)";

    cmd.ExecuteNonQuery();

    cmd.CommandText = "CREATE PROCEDURE add_emp(" +

    "IN fname VARCHAR(20), IN lname VARCHAR(20), IN bday DATETIME, OUT empno INT)" +

    "BEGIN INSERT INTO emp(first_name, last_name, birthdate) " +

    "VALUES(fname, lname, DATE(bday)); SET empno = LAST_INSERT_ID(); END";

    cmd.ExecuteNonQuery();

    }

    catch (MySqlException ex)

    {

    Console.WriteLine ("Error " + ex.Number + " has occurred: " + ex.Message);

    }

    conn.Close();

    Console.WriteLine("Connection closed.");

    try

    {

    Debug.WriteLine("Connecting to MySQL...");

    conn.Open();

    cmd.Connection = conn;

    cmd.CommandText = "add_emp";

    cmd.CommandType = CommandType.StoredProcedure;

    cmd.Parameters.AddWithValue("@lname", "Jones");

    cmd.Parameters["@lname"].Direction = ParameterDirection.Input;

    cmd.Parameters.AddWithValue("@fname", "Tom");

    cmd.Parameters["@fname"].Direction = ParameterDirection.Input;

    cmd.Parameters.AddWithValue("@bday", "1940-06-07");

    cmd.Parameters["@bday"].Direction = ParameterDirection.Input;

    cmd.Parameters.AddWithValue("@empno", MySqlDbType.Int32);

    cmd.Parameters["@empno"].Direction = ParameterDirection.Output;

    cmd.ExecuteNonQuery();

    Debug.WriteLine("Employee number: " + cmd.Parameters["@empno"].Value);

    Debug.WriteLine("Birthday: " + cmd.Parameters["@bday"].Value);

    }

    catch (MySql.Data.MySqlClient.MySqlException ex)

    {

    Debug.WriteLine("Error " + ex.Number + " has occurred: " + ex.Message);

    }

    conn.Close();

    Debug.WriteLine("Done.");

}

//上面代码来自 Mysql.Data.chm

程序输出:

Employee number: 1

Birthday: 1940-06-07

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论