首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用sybase ExecuteNonQuery运行ExecuteNonQuery()时出错

使用sybase ExecuteNonQuery运行ExecuteNonQuery()时出错
EN

Stack Overflow用户
提问于 2020-06-03 21:39:34
回答 1查看 181关注 0票数 2

当我使用sybase提供程序Sybase.AdoNet4.AseClient在C# ADO.NET中运行写图文sql命令时,我得到了一个错误。我尝试过很多不同的方法,比如使用参数索引,命名参数等等。有人能帮忙吗?下面显示的是示例代码。

代码语言:javascript
复制
AseConnection cn = new AseConnection(connection.ConnectionString);
cn.Open();

//..... there is other code here that calls a stored procedure and gets textpointer 
// reference, but I am leaving it out to keep it short and simple

AseCommand cmd2 = new AseCommand("writetext mytable.column1 @textPointer @bigText", cn);
cmd2.CommandType = CommandType.Text

cmd2.Parameters.Add(new AseParameter("@textPointer", AseDbType.VarBinary, 16));
cmd2.Parameters["textPointer"].value = textPointerOut.value

cmd2.Parameters.Add(new AseParameter("@bigText", AseDbType.Text));
cmd2.Parameters["bigText"].value = bigText;

cmd2.ExecuteNonQuery();

cmd2.ExecuteNoQuery()抛出一个异常,错误是必须声明变量@textPointer

更新:如果我尝试下面的语法,就会发现在@bigText‘附近出现了一个错误,说明了

代码语言:javascript
复制
AseCommand cmd2 = new AseCommand("{writetext mytable.column1 @textPointer @bigText}", cn);
EN

回答 1

Stack Overflow用户

发布于 2020-06-06 16:30:45

我在将一个AseParameter传递给动态SQL时陷入了困境。不需要使用命名参数。使用动态sql,我必须执行以下操作:

  1. 声明textPointer变量
  2. 使用写文本命令

获取指向我要更新的

  • 更新列的指针
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62183166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档