要实现这样的功能,SQL语句里面就不要用LIKE,不然就不是你希望的那种结果了
最好是用SUBSTRING
比如要查“A”开头的,SQL就是
SELECT * FROM Menu WHERE SUBSTRING(Coda,1,LEN('A'))='A'
比如要查“ABC”开头的,SQL就是
SELECT * FROM Menu WHERE SUBSTRING(Coda,1,LEN('ABC'))='ABC'怎么样组合SQL语句你应该会了,我就不说了,^_^

解决方案 »

  1.   

    建议你先把所有数据读取到DataSet对象(ds)的一个Table对象然后:
    DataView dv=new DataView();
    dv.Table=ds.Tables["TableName"];
    将dv作为数据源绑定到DataGrid,在TextBox的KeyPress中:
    dv.RowFilter=@"codastr like '*"+textBox.Text.Trim()+@"'*";
      

  2.   

    codasrt是将Coda转换为string类型的列!
      

  3.   

    这个功能我有个例子,就是类似ie浏览器的自动完成功能吧,用的是webservice实现的。
    你要的话给我个地址,我把代码发给你。
      

  4.   

    我要啊,你发到我邮箱吧。
    我去看看。[email protected] 
    [email protected]或QQ16168903
      

  5.   

    建议你采用zhpsam109(孤寂无边)的建议
      

  6.   

    Coda字段最好为varchar或者类似的char类型string sql = "Select * from Menu where Coda like '" + textBox.Text +  "%'";
      

  7.   

    写一个TextBox的事件:
    this.TextBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBox1_KeyPress);
    //在这里显示datagrid1中的数据
    private void txtAge_KeyPress(object sender,System.Windows.Forms.KeyPressEventArgs e)
    {
      if((e.KeyChar<48||e.KeyChar>57)&&e.KeyChar!=8)//如果输入的是数字
      {
        ……
        string sql = "Select * from Menu where Coda like '" + textBox.Text +  "%'";
        ……
      }
      else
      {
        MessageBox.Show("你输入的必须是数字!");
      }}
    其它的就不用我说了。
      

  8.   

    如果在数据库中查旬
    string sql = "Select * from Menu where Coda like '" + textBox.Text +  "%'";
    如果在DataSet中,
    stirng condition = "字段名1 like '"+textBox.Text.Trim()+"%'";ds.Tables["TableName"].DefaultView.RowFilter = condition;这里假设DataGrid绑定的为ds.Tables["TableName"]
    如果允许关键字不在开头,可以写成
    string sql = "Select * from Menu where Coda like '%" + textBox.Text +  "%'";
    stirng condition = "字段名1 like '%"+textBox.Text.Trim()+"%'";