ASP.NET2.0调用MySQL存储过程代码示例,分享实用开发技巧与实现步骤

文章导读
首先,在MySQL中创建存储过程,例如:CREATE PROCEDURE GetUser(IN userId INT)BEGINSELECT * FROM users WHERE id = userId;END
📋 目录
  1. 实用开发技巧1:参数处理
  2. 实现步骤
  3. 技巧2:异常处理
  4. 完整页面示例
  5. FAQ
A A

首先,在MySQL中创建存储过程,例如:
CREATE PROCEDURE GetUser(IN userId INT)
BEGIN
SELECT * FROM users WHERE id = userId;
END

在ASP.NET 2.0中,使用MySqlConnector,配置连接字符串:string connStr = "server=localhost;user=root;password=pass;database=test;";

MySqlConnection conn = new MySqlConnection(connStr);
MySqlCommand cmd = new MySqlCommand("GetUser", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("userId", 1);
conn.Open();
MySqlDataReader reader = cmd.ExecuteReader();
while(reader.Read()){
Response.Write(reader["name"].ToString());
}

实用开发技巧1:参数处理

在使用存储过程时,一定要用AddWithValue或Add添加参数,避免SQL注入。技巧:对于输出参数,用MySqlDbType指定类型,如cmd.Parameters.Add("@outParam", MySqlDbType.Int32).Direction = ParameterDirection.Output;

ASP.NET2.0调用MySQL存储过程代码示例,分享实用开发技巧与实现步骤

实现步骤

步骤1:安装MySQL .NET Connector。
步骤2:Web.config中添加连接字符串。
步骤3:页面代码中实例化Connection和Command。
步骤4:设置CommandType为StoredProcedure。
步骤5:添加参数并执行。
步骤6:处理返回数据,用DataReader或DataAdapter。

技巧2:异常处理

try{ conn.Open(); ... }catch(MySqlException ex){ Response.Write(ex.Message); }finally{ conn.Close(); } 这样确保连接释放。

完整页面示例

protected void Page_Load(object sender, EventArgs e){
using(MySqlConnection conn = new MySqlConnection(connStr)){
using(MySqlCommand cmd = new MySqlCommand("sp_test", conn)){
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@id", 123);
conn.Open();
string result = cmd.ExecuteScalar().ToString();
Label1.Text = result;
}
}
}

FAQ

Q: 如何处理MySQL存储过程的输入输出参数?
A: 输入用AddWithValue,输出用Direction=ParameterDirection.Output,并在Execute后读取Value。

ASP.NET2.0调用MySQL存储过程代码示例,分享实用开发技巧与实现步骤

Q: 连接不上MySQL怎么办?
A: 检查连接字符串的server、user、password、database是否正确,防火墙是否允许3306端口。

Q: DataReader和DataSet哪个好用?
A: 小数据用Reader高效,大数据或绑定GridView用DataAdapter.Fill(DataSet)。

Q: ASP.NET 2.0用什么版本的Connector?
A: 用MySQL Connector/NET 5.x或6.x,支持.NET 2.0。