适用于Windows表单的PetaPoco示例应用程序

时间:2012-06-27 12:18:51

标签: c# sql petapoco

我来到了PetaPoco,并决定尝试一下 有没有人来过这个样本的WindowsForms应用程序?到目前为止,我只找到了示例Web应用程序。

我理解PetaPoco的概念与NHibranate类似,但我没有找到一个示例来查看如何将Grid绑定到查询结果。如果有人拿到一个,那么Best将是一个示例应用程序。

3 个答案:

答案 0 :(得分:2)

您可以像这样绑定Winform DataGridView:

    Dim ppdb = New PetaPoco.Database("Data Source=XXXX;Initial Catalog=xxxx;Integrated Security=True;", "System.Data.SqlClient")
    Dim blTable = New BindingList(Of TableItem)(ppdb.Query(Of TableItem)("select * from table").ToList)
    Dim bsTable As New BindingSource(blTable, "")
    DataGridView.DataSource = bsTable

如果要保留更改,则需要将对象保存回数据库。

要将POCO绑定到一行,请使用:

Dim obj = DataGridView.Rows(RowIndex).DataBoundItem

答案 1 :(得分:1)

您应该能够直接绑定到List<T>返回的public IEnumerable<T> Query<T>(string sql, params object[] args) - 来自PetaPoco.cs @ source on GitHub

的第752行的示例

答案 2 :(得分:0)

即使是很老的话,也许有人需要这个。 直接绑定到List以及它。

    using (var db = new PetaPoco.Database(string_connection, string_provider))
    {
        try
        {
            var ret = db.Query<MyTable>("select * from my_table_name").ToList();

            if(ret != null)
            {
                dgv.DataSource = ret; 
            }
        }
        catch (Exception ex)
        {
            Trace.WriteLine("Error: " + ex.Message); 
        }
    } // using