2012-03-23 92 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