c# 处理错误 SQL 查询的异常

本文关键字:异常 查询 SQL 处理 错误 | 更新日期: 2023-09-27 18:32:00

我之前已经看到了关于这个主题的类似问题,但找不到上述问题的解决方案。我有一个用 c# 为 SAP B1 编程的附加组件。用户必须在 UDT 中输入一些数据库列名称。然后我的函数运行查询并获取数据。但是如果用户在表中输入了错误的列名,我应该有一个适当的错误处理来捕获此错误并防止插件崩溃。我的代码如下。

try
{
 sqlString = "select " + databaseFieldName[increase] + " from OITM where ItemCode= '" + itemCode + "'";
 mRsitemCode.DoQuery(sqlString);
}
catch (System.Runtime.InteropServices.COMException ex)
{
 SBO_Application.MessageBox(ex.ToString(), 1, "Ok");
}
catch (Exception b)
{
  //string error;
  SBO_Application.MessageBox(b.ToString(), 1, "Ok");
}

但它没有遇到我的任何捕获块。错误如下。

类型的异常(第一次机会) "System.Runtime.InteropServices.COMException" 发生在 Item_Variation.dll。

附加信息: 1). [Microsoft][SQL Server 本机客户端 10.0] [SQL 服务器]列名"WhsCode"无效。

2). [Microsoft][SQL Server Native Client 10.0][SQL Server]陈述 (s) 无法准备。

如果处理程序可用于此异常,则程序可能会继续 以安全运行。

我做错了什么?任何帮助将不胜感激!

c# 处理错误 SQL 查询的异常

Visual Studio 配置为在异常时中断。如果使用"调试/异常"菜单选择要中断的错误,而不是让代码继续,则可以这样做。