【发布时间】:2014-09-14 12:48:20
【问题描述】:
正如在这个问题中读到的:Undefined function 'Replace' in expression,我收到错误“表达式中的未定义函数'替换'”,因为“您根本没有使用 Access 查询引擎”,但我用什么作为选择 ?显然“Iif,Instr 的组合”会起作用,但我找不到用这些实际替换某些东西的方法。
我只想从值中删除空格,我该怎么做?
const string strSql = "SELECT TOP 15 HOOFDGROEP.HOOFDGROEP, SUBGROEP.SUBGROEP, Artikels.*" +
" FROM (Artikels LEFT JOIN HOOFDGROEP ON Artikels.HOOFDGROEPID = HOOFDGROEP.ID)" +
" LEFT JOIN SUBGROEP ON Artikels.SUBGROEPID = SUBGROEP.ID WHERE REPLACE(ArtikelNaam, ' ', '') LIKE '%' + @ArtikelNaam + '%'";
var objCommand = new OleDbCommand(strSql, _objConnection);
objCommand.Parameters.Add("@ArtikelNaam", OleDbType.Char).Value = naamZoeker.Replace(" ", "");
【问题讨论】:
-
请编辑您的问题并显示您收到错误的命令。
-
删除空格和替换空格是有区别的!因此,如果您想在值的开头和结尾删除空格,您可以在 c# 中通过 trim() 执行此操作。另请注意,即使您可以执行大多数操作,也不会为字符串操作构建 sql
-
@WiiMaxx 我不仅想在结尾或开头删除它们,而是全部删除它们,我相信这样做的唯一方法是将“”替换为“”,即基本等于去掉空格
标签: c# sql ms-access oledbcommand