存储过程是一组存储在服务器上的 SQL 语句,GBASE南大通用 ADO.NET 使用
GBaseCommand 对象调用存储过程,并且支持 In、Out、InOut 参数。
5.3.1 通过GBase ADO.NET 创建存储过程
GBASE南大通用数据库中的存储过程可以通过 GBASE南大通用 ADO.NET 直接创建,使用GBaseCommand 对象的 ExecuteNonQuery 方法。
下面是创建存储过程的步骤:
1) 使用GBASE南大通用Connection 创建数据库连接对象
2) 使用 GBaseCommand 创建命令对象
3) 使用连接对象打开连接
4) 设置命令对象的 CommandText 属性,指明创建存储过程语句,并关联连接对象;
5) 执行命令对象的 ExecuteNonQuery 完成创建;
6) 关闭数据库连接
下面的示例是使用 GBaseCommand 对象创建存储过程的完整过程。
C# 示例:
使用 System.Linq;
使用 System.Text;
使用 System.Data;
使用 GBase.Data;
使用 GBase.Data.GBaseClient;
使用 System.Diagnostics;
使用
System.Collections.Generic;
命名空间: UsingStoredRoutines
{
课程安排
{
静态 void Main(string[] 参数)
{
GBaseConnection _Conn = 新的 GBaseConnection();
_Conn.ConnectionString =
“服务器=192.168.5.41;用户=root;数据库=测试;密码=1;池化=fals
e";
GBaseCommand _Cmd = 新的 GBaseCommand();
尝试
{
Console.WriteLine(“正在连接到 GBase...”);
_Conn.打开();
_Cmd.连接 = _Conn;
_Cmd.CommandText = “删除过程(如果存在)
add_emp“;
_Cmd.ExecuteNonQuery();
_Cmd.CommandText = “DROP TABLE IF EXISTS emp”;
_Cmd.ExecuteNonQuery();
_Cmd.CommandText = “创建表 emp (empno INT NOT
NULL AUTO_INCREMENT 主键, first_name VARCHAR(20), last_name
VARCHAR(20),出生日期)“;
_Cmd.ExecuteNonQuery();
_Cmd.CommandText = “创建过程 add_emp(” +
“在 fname VARCHAR(20) 中,在 lname VARCHAR(20) 中,在 bday 中
DATETIME, OUT empno INT)“ +
“BEGIN INSERT INTO emp(first_name, last_name,
出生日期)“ +
“值(fname, lname, DATE(bday));设置 empno =
LAST_INSERT_ID();完“;
_Cmd.ExecuteNonQuery();
}
catch (GBaseException ex)
{
Console.WriteLine(“错误” + ex.数字 + “ 具有
发生:“ + 前。消息);
}
最后
{
如果 (_Conn != null)
_Conn.关闭();
Console.WriteLine(“连接已关闭。
}
}
}
}
gbase的