日期:2014-05-17  浏览次数:21064 次

100分問一個超級菜的問題,先答先拿
C# code

if (!string.IsNullOrEmpty(Title))
        {
            sb.Append(" and SUBJECT like %'Title'%");
        }


就這個判斷條件and SUBJECT like %'Title'%
我調了N長時間了。。。。。。。。。。。。
那個高手幫寫個正確的,分你直接拿走!!
在線等,急!!

------解决方案--------------------
能否打出最后在程序中拼成的SQL语句?在数据库里执行一下就明白了
------解决方案--------------------
是啊,把完整拼成的SQL語句在數據庫的查詢器里執行一下看看。。
------解决方案--------------------
代码应该是:
C# code

if (!string.IsNullOrEmpty(Title))
        {
            sb.Append(" and SUBJECT like %"+ Title +"%");
        }

------解决方案--------------------
先把完整的语句在pl/sql或sqlplus中执行无误后,再拆成你应用环境下的代码。

------解决方案--------------------
将你的SQL语句在查询工具中执行,看是否有结果。
若在查询工具中查不到,那么你的SQL语句有问题。
------解决方案--------------------
应该不是的SQL语句问题。
using System.Data.OracleClient;有没有添加?
C# code

command.Parameters.AddRange([color=#FF0000]"[/color]Parms[color=#FF0000]"[/color]); //好像是这样的

------解决方案--------------------
command.Parameters.AddRange("Parms"); //加个引号,好像是这样的
------解决方案--------------------

我觉得是引号的问题。

根据错误提示: ORA-01036,显然,oracle在解析拼接的sql串时发现错误。


引用楼主 takako_mu 的帖子:
C# code
if (!string.IsNullOrEmpty(Title))
{
sb.Append(" and SUBJECT like %'Title'%");
}

就這個判斷條件and SUBJECT like %'Title'%
我調了N長時間了。。。。。。。。。。。。
那個高手幫寫個正確的,分你直接拿走!!
在線等,急!!

------解决方案--------------------
sb.Append(" and SUBJECT like ’%"+ Title +"%’");

 sb.Append(" and SUBJECT like '%Title%'");

 sb.Append(" and SUBJECT like '%''Title''%'");


不知道哪个适合楼主
------解决方案--------------------
sb.Append(" and SUBJECT like \'%"+ Title +"%\'");

or

sb.Append(@" and SUBJECT like '%"+ Title +@"%'");

sb.Append(" and SUBJECT like \'%Title%'\");

单引号' 需要转义

------解决方案--------------------
sb.Append(" and SUBJECT like " + "'%Title%'");

------解决方案--------------------
探讨
sb.Append(” and SUBJECT like “ + “'%Title%'”);