2013-04-02 199 views
2

我是網絡新手我想使用數據表而不是數據庫。 我想知道爲什麼數據表查詢與sql查詢不同? 我想找到從數據表中的值:可用的任何數據表查詢生成器,如SQL查詢生成器?

SELECT dbo.General_Ledger.Entry_Amount FROM dbo.General_Ledger WHERE Account_number=lbDebit_Account_numer 

using (SqlConnection connect = new SqlConnection(con)) 
     { 
      int index = lbDebit_Account.FindString(txtDebit_Account.Text); 
      if (0 <= index) 
      { 
       lbDebit_Account.SelectedIndex = index; 
      } 
      SqlDataAdapter da3 = new SqlDataAdapter("SELECT *FROM dbo.General_Ledger", connect); 

      DataTable dt1 = new DataTable(); 
      da3.Fill(dt1); 
      string lbDebit_Account_numer = lbDebit_Account.SelectedValue.ToString(); 
      string row; 
      row= Convert.ToString(dt1.Select(string.Format("'Account_number'={0}",lbDebit_Account_numer))); 
     } 

我想執行這個查詢:

SELECT dbo.General_Ledger.Entry_Amount FROM dbo.General_Ledger WHERE Account_number=lbDebit_Account_numer 

回答

0

所以你要參數查詢:

SqlDataAdapter da3 = new SqlDataAdapter("SELECT * FROM dbo.General_Ledger WHERE Account_number = @Account_number"); 
da3.SelectCommand.Parameters.AddWithValue("@Account_number", lbDebit_Account.SelectedValue); 

DataTable dt1 = new DataTable(); 
da3.Fill(dt1); 

,現在你有你想要的一行,您可以恢復它是這樣的:

DataRow dr = dt1.Rows[0]; 

,然後你可以抓住值過該行的許多不同的方式:

var val = dr[0]; // grabs the value of the first column in the result list 
var val = dr["fieldname"] // grabs the value of a specific field name 

甚至有一些方法會返回鍵入的數據,因爲上述返回object,因爲底層值可能是一些事情。所以,如果是你,是你可以做這樣的事情後,一個字符串字段:

var val = dr.Field<string>(0) // grabs the value of the first column and returns it typed as a string 
var val = dr.Field<string>("fieldname") // grabs a field and returns it typed as a string 
0

它很簡單,U想在此字符串[lbDebit_Account_numer]

DataRow dr = dt1.Select("Account_number = '"+lbDebit_Account_numer ="'"); 
數據表[DT1]基本過濾

ü可以使用

,AND,OR

運營商

單個代碼[']需要字符串變量進行比較。

這裏你得到數據行,所有的單元格都會以你選擇的任何單元格的數組格式。

0

您可以嘗試使用DataTable類的DefaultView.RowFilter屬性。

實施例:

dataTable.DefaultView.RowFilter = "Account_number=1";