2016-07-11 10 views
1

im new to linq。私は問題が各列の値を単一の行から抽出しています。私のコードがあります。linqから各列の行の値を取得する方法

dtはデータベースsp.thisのソースを持つデータテーブルであり、指定されたキャストは無効です。私は

convert.toint32が

+0

にこれは、LINQと共通のものを持っていません。あなたの 'websitedetail'変数は' DataRow'型で、行フィールドへのアクセスはLINQと同じかLINQなしです。 'websitedetail [" CYBER_SERNO "]'によって返された値の型を調べることで始めることができます。また、 'dt.Columns'と' websitedetail.ItemArray'プロパティです。 –

+0

私はlinqを使用しています理由は..私はベンダーからSPを制御することはありません..私は返されたデータをフィルタリングする必要があります。これらの列の値を再利用します。 –

答えて

0
var websitedetail = (from x in dt.AsEnumerable() 
        where x["CYBER_TY"].ToString() == "WEBSITE" 
        select x).FirstOrDefault(); 


var test2 = websitedetail.CYBER_SERNO 

LINQのオブジェクトが強く型付けされているあなたに感謝しようとしました。オブジェクト上のプロパティが行の列であることを意味します。例えば

Database Table FOO: 
ID 
Name 
Description 

turnes

FOO.FirstOrDefault().ID 

または

FOO.FirstOrDefault().Description 
0
var websitedetail = (from x in dt.AsEnumerable() 
        where x["CYBER_TY"].ToString() == "WEBSITE" 
        select x).select(y=>y.ID).FirstOrDefault(); 
+0

どのように動作するかを説明するために、修正を取り巻くもう少しの情報を提供してください... – Dave

関連する問題