2012-03-23 88 views
0

下面是我的代碼:如何從PetaPoco查詢結果中選擇第二列?

string Query = "SELECT EmpName, EmpCode FROM EmpDetail WHERE ZCode=101 ORDER BY EmpName"; 
var db = new PetaPoco.Database("conCustomer"); 
var result = db.Fetch<string>(query); 
TextBox1.Text = result.ToString(); //This is giving first column 
TextBox2.Text = .... // pick second column 

我想知道如何挑選從結果的第二列。

回答

2

我相信你遇到的問題是你沒有使用類作爲獲取的一部分。嘗試創建一個簡單的類,並執行與該抓取:

public class EmpDetail 
{ 
    public string EmpName { get; set; } 
    public string EmpCode { get; set; } 
} 

var result = db.Fetch<EmpDetail>(Query); 

然後嘗試迭代的EmpDetail該列表:

foreach (var detail in result) 
{ 
    var x = detail.EmpName; // First column 
    var y = detail.EmpCode; // Second column 
} 

編輯:根據this(H/T羅伯特Koritnik)它確實看起來像它會支持dynamic這樣的查詢(未經測試):

foreach (var detail in db.Fetch<dynamic>(query)) 
{ 
    var x = detail.EmpName; // First column 
    var y = detail.EmpCode; // Second column 
} 
+0

我不覺得有必要創建一個類。沒有課,如何檢索? – RKh 2012-03-24 09:09:32

+0

使用'dynamic'也許? – 2012-03-25 19:33:34