如何在DataColumn.Expression中使用IF/ELSE或CASE?

J -*_*per 5 c# sql expression datacolumn

我有一个包含1列的表:'状态'我想在另一个名为'Action'的列中添加,其值如下:if Status ='Yes'然后Action ='Go',否则,Action ='Stop' .我使用以下代码在"Action"列中添加,但它不起作用:

myDataTable.Columns.Add("Action", typeof(string), "IF [Status] = 'Yes' THEN 'Go' ELSE 'Stop' END");
Run Code Online (Sandbox Code Playgroud)

JDB*_*JDB 12

您正在寻找的表达方式是:

IIF( [Status] = 'Yes', 'Go', 'Stop' )
Run Code Online (Sandbox Code Playgroud)

DataTables不支持标准SQL CASE语句,也不支持"IF ... ELSE"语句.您必须使用inline-if函数:IIF

请参见DataColumn.Expression属性(MSDN)