无法在 SQL 数据工具脚本中应用相等“运算符 '==' 不能应用于 'bool' 类型的操作数” (FIX)
Posted
技术标签:
【中文标题】无法在 SQL 数据工具脚本中应用相等“运算符 \'==\' 不能应用于 \'bool\' 类型的操作数” (FIX)【英文标题】:Cannot apply equality in SQL Data Tools scripts "Operator '==' cannot be applied to operands of type 'bool'" (FIX)无法在 SQL 数据工具脚本中应用相等“运算符 '==' 不能应用于 'bool' 类型的操作数” (FIX) 【发布时间】:2021-05-06 12:11:54 【问题描述】:无法在 SQL Data Tools 脚本中应用相等性。 目的:建立一个变量,在不需要做任何事情时用作优雅的退出
错误
"Operator '==' cannot be applied to operands of type 'bool'"
Only assignment, call, increment, decrment, await, and new object expressions can be uses as statement
代码:
String recfil=Dts.Variables["User::FolderPath"].Value.ToString() + Dts.Variables["User::RecfileName"0.Value.ToString();
int recfilExists=Convert.ToInt32(File.Exists(recfil));
bool goodRun = irecfilExists.Equals(1)
bool noRun = irecfilExists.Equals(0)
if (goodRun)
Dts.Variables["User::NothingToDo"].Value == goodRun;
Dts.TaskResult = (int)ScriptResults.Success;
else
Dts.Variables["User::NothingToDo"].Value == noRun;
Dts.TaskResult = (int)ScriptResults.Failure;
【问题讨论】:
【参考方案1】:虽然绝对不是最佳答案,但
if (goodRun || noRun)
if (goodRun)
Dts.Variables["User::FileCount"].Value = 1;
else
Dts.Variables["User::FileCount"].Value = 0;
Dts.TaskResult = (int)ScriptResults.Success;
else
Dts.TaskResult = (int)ScriptResults.Failure;
然后在控制流中,在 Success 上添加选择函数,它将文件计数引用为 1 或 0。如果没有文件,则优雅退出,否则通过控制流工作。
【讨论】:
以上是关于无法在 SQL 数据工具脚本中应用相等“运算符 '==' 不能应用于 'bool' 类型的操作数” (FIX)的主要内容,如果未能解决你的问题,请参考以下文章