以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  FT升级后发现有问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76479)

--  作者:affixed
--  发布时间:2015/10/30 0:20:00
--  FT升级后发现有问题
2014版本的FT以下代码运行正常,可现在2016版本的却报错。
CurrentTable.DataTable.SQLReplaceFor("第一列","N\'" & "启用","物料编号 = \'" & CurrentTable.Current("物料编号") & "\'",True)
语句中的物料编码字符为“KTS 2015-10-0002”

错误提示:
.NET Framework 版本:2.0.50727.6421
Foxtable 版本:2015.10.26.1
错误所在事件:
详细错误信息:
System.Data.OleDb.OleDbException: 字符串 \'\' 后的引号不完整。
“KTS”附近有语法错误。
   在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
   在 Foxtable.DataTable.SQLReplaceFor(String ColName, Object Value, String Filter, Boolean IsExpression)


--  作者:kylin
--  发布时间:2015/10/30 8:08:00
--  
错误提示告知你,所写的格式错误
--  作者:Hyphen
--  发布时间:2015/10/30 8:35:00
--  

这里有必要加N\'么,会有乱码出现吗。N\'本来就不是合法的表达式用法。


--  作者:affixed
--  发布时间:2015/10/30 9:03:00
--  
加N就是应为会有乱码出现,现在提示问题在"物料编号 = \'" & CurrentTable.Current("物料编号") & "\'"这一段中
--  作者:大红袍
--  发布时间:2015/10/30 9:15:00
--  
CurrentTable.DataTable.SQLReplaceFor("第一列","N\'" & "启用\'","物料编号 = \'" & CurrentTable.Current("物料编号") & "\'",True)
--  作者:affixed
--  发布时间:2015/10/30 11:11:00
--  
袍老师,我的代码也是像你一样写的。但以前没问题,现在报错了。不知道是不是FT升级到2016的问题。
--  作者:大红袍
--  发布时间:2015/10/30 11:34:00
--  
你的明明就少一个单引号