连接ACCESS数据库没问题,SQL语句直接在ACCESS里用也没问题,但放到C#.NET中就查不到——myReader.Read()返回false请高手帮忙指点指点,谢谢!string sql_select = "SELECT * from topic WHERE TopicBody like '*具体文本内容*'
OleDbCommand cmd_select = new OleDbCommand(sql_select,Conn1);
OleDbDataReader myReader = cmd_select.ExecuteReader();

解决方案 »

  1.   

    string sql_select = "SELECT * from topic WHERE TopicBody like '%具体文本内容%'";
      

  2.   

    楼上的不对,在access中,模糊查询的通配符与sqlserver不同,
    对于access,是使用"*"来进行模糊查询的,
      

  3.   

    SQL語句沒有問題,連接串有問題嗎?
      

  4.   

    經過測試.ACCESS的SQL語句
    string sql_select = "SELECT * from topic WHERE TopicBody like '*具体文本内容*'"
      

  5.   

    OleDbConnection conn = new OleDbConnection("数据库连接串");
    conn.Open();
    string strSQL = "查询语句";
    OleDbCommand comm = new OleDbCommand(strSQL, _conn);OleDbDataAdapter  da = new OleDbDataAdapter();
    da.SelectCommand = comm;
    da.Fill( 数据表DataTable );
      

  6.   

    不好意思,我原来打漏了,string sql_select = "SELECT * from topic WHERE TopicBody like '*具体文本内容*'";但就是read不出来呀~~~
      

  7.   

    have a try
    string sql_select = "SELECT * from [topic] WHERE TopicBody like '*具体文本内容*'";
      

  8.   

    你检查以下连接吧,这句SQL到没什么问题
      

  9.   

    你在access中SQL视图下运行你这个SQL语句就知道是不是SQL语句的问题啊
      

  10.   

    可能是 myReader.Read() 部分有问题,再一个读数的时候一般都要加Trim();String Con = ConfigurationSettings.AppSettings["con"];
    SqlConnection con = new SqlConnection(Con);
    con.Open();
    SqlCommand cmd1=new SqlCommand("SELECT * from topic WHERE TopicBody like '*具体文本内容*'",con);
    SqlDataReader myReader=cmd1.ExecuteReader();
    if(myReader.Read())
    {
    L1.Text=myReader["warning"].ToString().Trim();
    }
    myReader.Close();
      

  11.   

    我说过了呀,连接没问题——换成SELECT * from topic WHERE TopicBody='具体文本内容'可以readSELECT * from topic WHERE TopicBody like '*具体文本内容*'   在Access的SQL视图里使用也没问题
      

  12.   

    第一个都read不到,别说“再一个”了
      

  13.   

    直接access里头查询,要用*
    如果是asp里头去查询access,8要改成%