MySQL Stored Procedure + C# Using ODBC
2011-01-04 12:25
477 查看
第一个存储过程
DELIMITER //
CREATE PROCEDURE sproc_SelectUser()
BEGIN
SELECT * from users;
END //
DELIMITER ;
第一个带参数的存储过程以及其C#调用
DELIMITER //
CREATE PROCEDURE sproc_InsertUser(
IN UserName varchar(250),
IN Password varchar(250),
IN Email varchar(200),
IN UserType varchar(3))
BEGIN
INSERT INTO users (UserName,Password,Email,UserType)
VALUE (UserName,Password,Email,UserType);
END //
DELIMITER ;
C#部分:
// now execute the SQL to update the database
OdbcConnection con = new OdbcConnection(ConfigurationManager.AppSettings["ConnectionString"]);
con.Open();
OdbcCommand comm = new OdbcCommand();
comm.Connection = con;
comm.CommandType = System.Data.CommandType.StoredProcedure;
comm.CommandText = "{call sproc_InsertUser (?,?,?,?)}";
comm.Parameters.Add("UserName", OdbcType.NChar, 250).Value = tbxUserName.Text.Trim();
comm.Parameters.Add("Password", OdbcType.NChar, 250).Value = tbxPassword.Text.Trim();
comm.Parameters.Add("UserName", OdbcType.NChar, 200).Value = tbxEmailAddress.Text.Trim();
comm.Parameters.Add("UserName", OdbcType.NChar, 3).Value = rbUserType.SelectedValue;
comm.ExecuteNonQuery();
con.Close();
第一个带有返回值的存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS `sproc_InsertUser` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sproc_InsertUser`(
IN UserName varchar(250),
IN Password varchar(250),
IN Email varchar(200),
IN UserType varchar(3),
OUT NewID int)
BEGIN
INSERT INTO users (UserName,Password,Email,UserType) VALUE (UserName,Password,Email,UserType);
set NewID = LAST_INSERT_ID();
select NewID;
END $$
DELIMITER ;
C#调用部分
OdbcConnection con = new OdbcConnection(ConfigurationManager.AppSettings["ConnectionString"]);
con.Open();
OdbcCommand comm = new OdbcCommand("{call sproc_InsertUser(?,?,?,?,@a)}",con);
comm.Parameters.Add("UserName", OdbcType.NChar, 250).Value = tbxUserName.Text.Trim();
comm.Parameters.Add("Password", OdbcType.NChar, 250).Value = tbxPassword.Text.Trim();
comm.Parameters.Add("Email", OdbcType.NChar, 200).Value = tbxEmailAddress.Text.Trim();
comm.Parameters.Add("UserType", OdbcType.NChar, 3).Value = rbUserType.SelectedValue;
OdbcDataReader myReader = comm.ExecuteReader();
while (myReader.Read())
{
Session["sesUID"] = myReader.GetInt32(0);
}
myReader.Close();
con.Close();
DELIMITER //
CREATE PROCEDURE sproc_SelectUser()
BEGIN
SELECT * from users;
END //
DELIMITER ;
第一个带参数的存储过程以及其C#调用
DELIMITER //
CREATE PROCEDURE sproc_InsertUser(
IN UserName varchar(250),
IN Password varchar(250),
IN Email varchar(200),
IN UserType varchar(3))
BEGIN
INSERT INTO users (UserName,Password,Email,UserType)
VALUE (UserName,Password,Email,UserType);
END //
DELIMITER ;
C#部分:
// now execute the SQL to update the database
OdbcConnection con = new OdbcConnection(ConfigurationManager.AppSettings["ConnectionString"]);
con.Open();
OdbcCommand comm = new OdbcCommand();
comm.Connection = con;
comm.CommandType = System.Data.CommandType.StoredProcedure;
comm.CommandText = "{call sproc_InsertUser (?,?,?,?)}";
comm.Parameters.Add("UserName", OdbcType.NChar, 250).Value = tbxUserName.Text.Trim();
comm.Parameters.Add("Password", OdbcType.NChar, 250).Value = tbxPassword.Text.Trim();
comm.Parameters.Add("UserName", OdbcType.NChar, 200).Value = tbxEmailAddress.Text.Trim();
comm.Parameters.Add("UserName", OdbcType.NChar, 3).Value = rbUserType.SelectedValue;
comm.ExecuteNonQuery();
con.Close();
第一个带有返回值的存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS `sproc_InsertUser` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sproc_InsertUser`(
IN UserName varchar(250),
IN Password varchar(250),
IN Email varchar(200),
IN UserType varchar(3),
OUT NewID int)
BEGIN
INSERT INTO users (UserName,Password,Email,UserType) VALUE (UserName,Password,Email,UserType);
set NewID = LAST_INSERT_ID();
select NewID;
END $$
DELIMITER ;
C#调用部分
OdbcConnection con = new OdbcConnection(ConfigurationManager.AppSettings["ConnectionString"]);
con.Open();
OdbcCommand comm = new OdbcCommand("{call sproc_InsertUser(?,?,?,?,@a)}",con);
comm.Parameters.Add("UserName", OdbcType.NChar, 250).Value = tbxUserName.Text.Trim();
comm.Parameters.Add("Password", OdbcType.NChar, 250).Value = tbxPassword.Text.Trim();
comm.Parameters.Add("Email", OdbcType.NChar, 200).Value = tbxEmailAddress.Text.Trim();
comm.Parameters.Add("UserType", OdbcType.NChar, 3).Value = rbUserType.SelectedValue;
OdbcDataReader myReader = comm.ExecuteReader();
while (myReader.Read())
{
Session["sesUID"] = myReader.GetInt32(0);
}
myReader.Close();
con.Close();
相关文章推荐
- csharp: MySQL Stored Procedure using DAL
- csharp: MySQL Stored Procedure using DAL
- mysql cmd ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: N O)
- Working C# code for MySql5.5 Stored Procedures IN parameters
- C# Using MySQL
- 电子书下载:MySQL Stored Procedure Programming
- 转贴 Using MySQL Stored Procedures with PHP mysql/mysqli/pdo
- 电子书下载:MySQL Stored Procedure Programming
- win7下安装MYSQL报错:access denied for user 'odbc'@'localhost'(using password: NO)
- MySQL Stored Procedure Variables
- Snippet: Fetching results after calling stored procedures using MySQL Connector/Python
- mybatis结合mysql stored procedure解决复杂逻辑的data persistence
- csharp: Oracle Stored Procedure DAL using ODP.NET
- Calculate Mysql Memory Usage – Quick Stored Procedure
- csharp: Oracle Stored Procedure DAL using ODP.NET
- How to Connect to MySQL Using C#
- C# 代码执行MySQL脚本文件--Using MySqlScript
- mysql连接问题 ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using pas
- MySQL ERROR 1045 : Access denied for user 'ODBC'@'localhost' (using password: NO)
- csharp: Oracle Stored Procedure DAL using ODP.NET