OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=DataBase_xyq.mdb");
            connection.Open();
            OleDbCommand command = new OleDbCommand(string.Format("SELECT Question FROM TextQuestion WHERE Question LIKE *{0}*", textBox1.Text), connection);//查询语句有问题.
//表名是TextQuestion,列 Question. 
//我想在textbox1中输入字符串可以在access数据库中进行模糊查询.
            OleDbDataReader datareader = command.ExecuteReader();
            while (datareader.Read())
            {
                QuestionlistBox.Items.Add(datareader["Question"].ToString());            }
            connection.Close();
            datareader.Close();
           
看书看不懂 天生有点智障吧.
望给条路走 先.

解决方案 »

  1.   

     OleDbCommand command = new OleDbCommand(string.Format("SELECT Question FROM TextQuestion WHERE Question LIKE '%{0}%'", textBox1.Text), connection);
      

  2.   

        估计你用的是SQL2005吧,在插入数据的时候用N'XXX' 查询的时候用 N'XXX'  字段选择 nvarchar
      

  3.   

     LIKE *{0}*
    为啥有2个*? 应该是'*{0}*'?SQL server没怎么用过, like '%{0}%'看着比较顺眼.
      

  4.   


    OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=DataBase_xyq.mdb");
                connection.Open();
                OleDbCommand command = new OleDbCommand(string.Format("SELECT Question FROM TextQuestion WHERE Question LIKE %{0}%", textBox1.Text), connection);//查询语句有问题.
    //表名是TextQuestion,列 Question. 
    //我想在textbox1中输入字符串可以在access数据库中进行模糊查询.
                OleDbDataReader datareader = command.ExecuteReader();//提示这里出错了 是查询语句有错误.
                while (datareader.Read())
                {
                    QuestionlistBox.Items.Add(datareader["Question"].ToString());            }
                connection.Close();
                datareader.Close();.
      

  5.   

    不是说ACCESS要用 *{0}* 而不是%{0}% 可我两个都试了还是错类
    是不是我设计的表有问题?
      

  6.   

    OleDbCommand command = new OleDbCommand(string.Format("SELECT Question FROM TextQuestion WHERE Question LIKE *{0}*", textBox1.Text), connection);这句中的string.Format谁能解释下.
      

  7.   

    就是格式化字符串,相当于SELECT Question FROM TextQuestion WHERE Question LIKE '%" + textBox1.Text+ "%'
      

  8.   

                QuestionlistBox.Items.Clear();
                OleDbConnection Connection = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=DataBase_xyq.mdb");
                Connection.Open();
                OleDbCommand Command = new OleDbCommand(String.Format("SELECT Question FROM TestQuestion WHERE Question LIKE '%{0}%'", textBox1.Text), Connection);
                OleDbDataReader DataReader = Command.ExecuteReader();
                while (DataReader.Read())
                {
                    QuestionlistBox.Items.Add(DataReader["Question"].ToString());
                }结帖给分 谢谢大家!