2011-12-14 134 views
0

我从一个Excel工作表使用的OleDb使用Select语句

现在我试图设定,让人们可以通过键入一个单词只是搜索结合在我的网页一个GridView搜索在人口密集的GridView文本框和按钮点击后即可,它会过滤所有那些在任何一列同一个词的结果

有人建议我使用此代码:

protected void Button1_Click(object sender, EventArgs e) 
    { 
     string search = TextBox1.Text; 
     OleDbConnection conn = new OleDbConnection(strConn); 
     conn.Open(); 
     OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", conn); 
     OleDbDataAdapter da = new OleDbDataAdapter(); 
     da.SelectCommand = cmd;    
     DataTable dt = new DataTable(); 
     da.Fill(dt);    
     grvCarProof.DataSource = dt.Select("CP number = "); 
     grvCarProof.DataBind(); 

    } 

我想不通是在我的SelectCommand()中应该写什么样的文字。我在正确的轨道上

回答

0

使用DataView及其RowFilter财产。

DataView dv=dt.DefaultView; 
dv.RowFilter="[Cp Number]='value']"; 
grvCarProof.DataSource = dv; 
grvCarProof.DataBind(); 

或加WHERE子句,

OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$] where [column1][email protected]", conn); 
cmd.Parameters.AddWithValue("@col1",inputValueFromUser); 
OleDbDataAdapter da = new OleDbDataAdapter(); 
da.SelectCommand = cmd;    
DataTable dt = new DataTable(); 
da.Fill(dt);    
grvCarProof.DataSource = dt; 
grvCarProof.DataBind();