在c#程序里面拼接的sql语句直接在access中执行能查询出数据,但是在C#程序里面就不能执行,一直没找到原因,
SELECT TOP 15 *
FROM B_MemberPublishMessage
WHERE PUBLISHTIME <= now() AND STARTCITY = '成都' AND ((ENDPROVINCE+ENDCITY+ENDCOUNTRY+PUBLISHCONTENT LIKE '*邢台*') )
ORDER BY [MaxID] DESC望各位指点~~~救命用的~

解决方案 »

  1.   

    需要看你在C#里面是怎么调用执行这条SQL的,
    1.数据库如何连接的代码
    2.执行这条命名的代码
      

  2.   

    private static string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"MemberData.rar;User ID=admin;Password=;Jet OLEDB:Database Password=123";
    public static DataSet Query(string SQLString)
            {
                using (OleDbConnection connection = new OleDbConnection(connectionString))
                {
                    DataSet ds = new DataSet();
                    try
                    {
                        connection.Open();
                        OleDbDataAdapter command = new OleDbDataAdapter(SQLString, connection);
                        command.Fill(ds, "ds");
                    }
                    catch (System.Data.OleDb.OleDbException ex)
                    {
                       // throw new Exception(ex.Message);
                    }
                    return ds;
                }
            }调用的就是以上语句,跟踪的时候,command.Fill(ds, "ds");之后,ds里面有结构,没有数据
      

  3.   

    '*邢台*'
    用'%邢台%'
    ACCESS里用*作为通配符,通过OLEDB的话就要用%