2014-07-17 92 views
0

我想從Access數據庫導入數據到Datatable,我想在GridView中顯示。訪問選擇查詢

我使用兩個文本框,一個用起始值,第二個用結束值。當我在文本框中輸入值時,它顯示了填充數據的gridview。這有效,但我的問題是,gridview顯示我整個Access Table中的數據,而不僅僅是我想要的分級值和結束值之間的數據。

protected DataTable DataLoad() 
{ 
    string queryString = "SELECT SNR,.... ,......,......,.......,...... FROM Mytable Where SNR Between '" + tb_SNRFrom.Text + "'And '" + tb_SNRTil.Text + "'"; 
    { 
     try 
     { 
      OleDbCommand command1 = new OleDbCommand(queryString, connection); 
      OleDbDataAdapter da = new OleDbDataAdapter(command1); 
      DataSet dataset = new DataSet(); 
      da.Fill(dataset); 
      table = dataset.Tables[0]; 
     } 
     catch (OleDbException exp) 
     { 
      Response.Write("Database Error:" + exp.Message.ToString()); 
     } 
     connection.Close(); 

     return table; 
    } 
} 
+5

你應該總是使用[參數化查詢(http://blog.codinghorror.com/give-me-parameterized-sql - 或者放棄的我死亡/)。這種字符串連接對於[SQL注入](http://en.wikipedia.org/wiki/SQL_injection)攻擊是開放的。 –

+0

@Soner正確地使用參數。他們甚至可能解決你的日期範圍問題。 –

+0

虐待thanx爲你的答案! – user3672746

回答

0

爲什麼不使用SELECT SNR,.... ,......,......,.......,...... FROM Mytable Where SNR >= @SmallValue And SNR <= @LargeValue;當你知道你的上&下限..

+0

以及Programm是一個搜索掩碼。我無法修正下限和上限 - 總是一次。 – user3672746

+0

largevalue和smallvalue不是固定值。他們是從兩個文本框中傳遞的參數。我的意思是說從下限和上限來看,你有一個文本框的上限和一個下限 –

+0

好。我試過,但沒有工作相同的問題。 – user3672746