c#
  • asp.net
  • sql-server
  • 2012-09-18 55 views 1 likes 
    1

    我有一個數據集說'ds',我從一個名爲tran_dtls, 的表中填充現在我想寫一個方法到這個數據集(或數據集「dt的」),這將有效地檢索我具有輸出作爲該查詢相同的標值:嘗試實施對數據集/數據表的查詢時遇到問題

    select sum(amt) from TRAN_DTLS 
    where GL_CODE='" + row["gl_code"].ToString() + "' 
    and SUB_CODE='" + row["sub_code"].ToString() + "' 
    and DBCR='C'" 
    

    這裏AMT,GL_code,SUb_code,DBCR在tran_dtls表中的列,我想那麼什麼要做的是選擇具有各種條件的金額總和,我從來沒有做過這樣的事情,所以我不知道這是否可能或不可能

    +0

    您可以使用LINQ – YardenST

    +0

    是的,我瞭解它之前,我問的問題,但它似乎對我來說很難實現這種類型的查詢,因爲大多數的例子,他們給了在那裏進行選擇特定行的一些列名稱 – Snedden27

    +0

    嘿,你想檢索單個值,如字符串,整數或位值 –

    回答

    1

    我不認爲你可以針對DataSet編寫SQL。但是你可以使用LINQ:

    var ds = new DataSet(); 
    var tranDtls = new DataTable("tran_dtls"); 
    tranDtls.Columns.Add("gl_code", typeof(string)); 
    tranDtls.Columns.Add("amt", typeof(int)); 
    var row = tranDtls.NewRow(); 
    row["gl_code"] = "a"; 
    row["amt"] = 1; 
    tranDtls.Rows.Add(row); 
    ds.Tables.Add(tranDtls); 
    
    var result = ds.Tables["tran_dtls"].AsEnumerable() 
        .Where(r => (string)r["gl_code"] == "a") 
        .Select(r => (int)r["amt"]) 
        .Sum(); 
    
    +0

    我認爲這可能會工作,會給它一個嘗試,TY – Snedden27

    相關問題