从.NET错误执行动态SQL

2020-09-22 07:39发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在尝试从....

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在尝试从.NET在HANA中检查表是否存在。 所以我写了一个动态SQL,但是执行它会导致以下错误:

必须声明

标识符:1:在Sap.Data.Hana.HanaCommand.ExecuteScalar(Sap.Data.Hana.HanaCommand._ExecuteReader(CommandBehavior commandBehavior,Boolean isExecuteScalar,Boolean isBeginExecuteReader)中位于第8行第21列 )

这是我要构建的代码:

>代码以执行代码

使用(HanaCommand cmd =新的HanaCommand(sql,conn))
 {
     conn.Open();
     int ret =(int)cmd.ExecuteScalar();
     返回ret
 }
 

>构建要执行的SQL的代码:

 StringBuilder sql = new StringBuilder();
 sql.AppendFormat(
   @"做
       开始
       声明行数INT;
       从table_name如'my_table'和schema_name ='my_schema'的表中选择count(*)进入行计数;
       如果:rowcount = 0则
          从哑元中选择0;
       其他
          从假人中选择1;
       万一;

     结束;");
 
5条回答
悠然的二货
2020-09-22 08:05

我想对此有一个初步的答案。 解释此SQL的方式是通过将每行(用;分隔)作为自己的命令来执行。

这可能是ExecuteScaler命令的行为。 因此,所有多行逻辑都应改为使用ExecuteNonQuery执行。 我将在下一个尝试。

一周热门 更多>