2011-12-14 133 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();