ADO.NET ODBC执行Informix的SP存储过程传参和返回值的问题求助!

jecoso 2008-07-15 09:42:46
安装好IBM Informix Client SDK后,总算是顺利的链接上了Informix服务器
但是不知道要如何执行Informix的SP存储过程,上网搜索到的都是执行MSSQL的SP存储过程
关键是不知道如何传值和接收返回值

要执行的Informix的SP存储过程中需要传入多个参数,返回多个参数,而且返回值中有一个常量
如:
create procedure inforSP( p_user_id char(04) )
returning integer, datetime year to second;
return 0, r_datetime;
end procedure
像这样的一个SP写ASP.NET要如何执行,传参以及接收返回值呢?
可以的话帮忙写个代码参考一下谢谢
...全文
232 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jecoso 2008-07-22
  • 打赏
  • 举报
回复
问题还是没解决。。
自己顶一个
shoushii 2008-07-15
  • 打赏
  • 举报
回复
SQL SERVER示例,仅供参考,希望对你有用

 //连接字符串
string strConnection = "some connection string";
//存储过程名
string strSql = "store procedure name";

SqlConnection objConnection = new SqlConnection(strConnection);

SqlCommand objCommand = new SqlCommand(strSql, objConnection);
//定义访问方式为存储过程
objCommand.CommandType = CommandType.StoredProcedure;
//设定参数,略
try
{
objConnection.Open();
objCommand.ExecuteNonQuery();
}
catch
{
}
finally
{
if (objConnection.State = ConnectionState.Open)
{
objConnection.Close();
}
}
shoushii 2008-07-15
  • 打赏
  • 举报
回复
没尝试过,不过我认为.NET2.0中的数据库访问工厂,应该对数据访问进行了抽象;
也就是说,应该和SQL SERVER的访问方式相同,区别在于链接字符串上。
JeffChung 2008-07-15
  • 打赏
  • 举报
回复
没有用过informix,没有试过多个返回值的……
JustLovePro 2008-07-15
  • 打赏
  • 举报
回复
Informix 的sp没有调用过,不敢妄说。但是不知道能否尝试用sql server的方式??
jecoso 2008-07-15
  • 打赏
  • 举报
回复
自己顶一个,寻求有相关经验的朋友帮忙解决

下面是我进行尝试的代码:

OdbcCommand cmd_sp = new OdbcCommand(procedure, cn);

// Configure the command.
cmd_sp.CommandType = CommandType.StoredProcedure;
OdbcParameter param;

// Add the parameter representing the return value.
param = cmd_sp.Parameters.Add("@p_site_id", OdbcType.Char);
param.Value = "65TW";

// Add OUTPUT parameter representing the return value.
param = cmd_sp.Parameters.Add("@r_datetime", OdbcType.DateTime);
param.Direction = ParameterDirection.ReturnValue;

cn.Open();
cmd_sp.ExecuteNonQuery();

但是一执行到cmd_sp.ExecuteNonQuery();这句,就出现错误信息:
ERROR [42000] [Informix][Informix ODBC Driver][Informix]A syntax error has occurred.

我上网查了一下,42000错误的原因是用户没有权限,但是,我给的用户是有权限进行执行的,至少在PB里是可以进行执行的
jecoso 2008-07-15
  • 打赏
  • 举报
回复
谢谢各位的热心回答

我已经连上数据库了,现在的问题是不知道如何执行Informix 的存储过程SP
因为他这个SP写法感觉跟MSSQL的SP写法不一样


要执行的Informix的SP存储过程中需要传入多个参数,返回多个参数,而且返回值中有一个常量
如:
create procedure inforSP( p_user_id char(04) )
returning integer, datetime year to second;
return 0, r_datetime;
end procedure
像这样的一个SP写ASP.NET要如何执行,传参以及接收返回值呢?

都没有朋友有相关经验么?

62,177

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧