C# 将sql查询附加到ListView控件

C# 将sql查询附加到ListView控件,c#,asp.net,C#,Asp.net,以下是我的asp.net代码: public static void GetInvoices(int client_id) { using ( var conn = new SqlConnection( GetConnectionString() ) ) using ( var cmd = conn.CreateCommand() ) { conn.Open(); cmd.CommandText = conn.Open();

以下是我的asp.net代码:

public static void GetInvoices(int client_id)
{
    using ( var conn = new SqlConnection( GetConnectionString() ) )
    using ( var cmd = conn.CreateCommand() )
    {
        conn.Open();
        cmd.CommandText =
        conn.Open();
        cmd.CommandText =
        @"SELECT o.OrderID, o.OrderDate, o.Status, o.ShipDate, o.PostAmount, sum(p.PaymentAmt) as Paid
            FROM Orders o left outer join payment p on o.orderid = p.orderid WHERE o.DistID = @client_id
            Group by o.OrderID, o.OrderDate, o.Status, o.ShipDate, o.PostAmount
            Order By o.OrderDate Desc";
        cmd.Parameters.AddWithValue( "@client_id", client_id );
        cmd.ExecuteNonQuery();;
    }
}
如何将由此返回的信息(可能返回0行)附加到ListView控件

这和你想象的一样容易吗

ListViewInvoices.DataSource = GetInvoices(1);
ListViewInvoices.DataBind();

或者是否有更复杂的方法将其连接到sql查询数据集?

正如您所看到的,GetInvoices是一个void方法;不返回任何内容。您将需要使用DataAdapter来填充和返回DataTable或DataSet。那么最后两行应该可以工作了

GetInvoices既不返回DataSet也不返回DataTable,您只是在执行查询,但没有在DataContainer aka DataSet或DataTable中获取返回的数据。

您尝试了最后两行吗?我没有,因为我觉得这没有意义。然后我又做了一些其他的事情,仍然需要回到这一点,只是目前无法测试最后两行。好吧,这是有道理的。我会添加它,并尽快测试它。好的。可能不是最后两行,您可能需要遍历DataTable并构造ListViewItems并添加到列表视图。