Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 选择事务,仅显示一行,但数据库中有多行_C#_Asp.net - Fatal编程技术网

C# 选择事务,仅显示一行,但数据库中有多行

C# 选择事务,仅显示一行,但数据库中有多行,c#,asp.net,C#,Asp.net,在此空白处,我选择了交易。示例在PONo为17的数据库中有3行,我只想在列表视图中显示一行。可能吗 void GetSupply() { con.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = "SELECT Supplier.SupplierName, PurchaseOrder.PONo, PurchaseOrder.PODate, " +

在此空白处,我选择了交易。示例在PONo为17的数据库中有3行,我只想在列表视图中显示一行。可能吗

void GetSupply()
{
    con.Open();
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    cmd.CommandText = "SELECT Supplier.SupplierName, PurchaseOrder.PONo, PurchaseOrder.PODate, " +
        "PurchaseOrder.PODateReceived, PurchaseOrder.PODeliveryDate, PurchaseOrder.POPaymentMethod, " +
        "PurchaseOrder.POReceiptNo, PurchaseOrderDetails.POAmount, PurchaseOrder.POPaymentDate, " +
        "PurchaseOrder.POStatus FROM PurchaseOrder INNER JOIN PurchaseOrderDetails " +
        "ON PurchaseOrder.PONo = PurchaseOrderDetails.PONo INNER JOIN Supplier ON " +
        "PurchaseOrder.SupplierNo = Supplier.SupplierID " +
        "ORDER BY PurchaseOrder.PODate DESC";
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataSet ds = new DataSet();
    da.Fill(ds, "PurchaseOrderDetails");
    lvPO.DataSource = ds;
    lvPO.DataBind();
    con.Close();
}
现在看起来是这样的

我想这样表现出来


您可以尝试使用
选择DISTINCT
ie

cmd.CommandText = "SELECT DISTINCT Supplier.SupplierName, PurchaseOrder.PONo, PurchaseOrder.PODate, " +
        "PurchaseOrder.PODateReceived, PurchaseOrder.PODeliveryDate, " +
        "FROM PurchaseOrder INNER JOIN PurchaseOrderDetails " +
        "ON PurchaseOrder.PONo = PurchaseOrderDetails.PONo INNER JOIN Supplier ON " +
        "PurchaseOrder.SupplierNo = Supplier.SupplierID " +
        "ORDER BY PurchaseOrder.PODate DESC";
或者尝试使用分组方式

cmd.CommandText = "SELECT Supplier.SupplierName, PurchaseOrder.PONo, PurchaseOrder.PODate, " +
        "PurchaseOrder.PODateReceived, PurchaseOrder.PODeliveryDate, " +
        "FROM PurchaseOrder INNER JOIN PurchaseOrderDetails " +
        "ON PurchaseOrder.PONo = PurchaseOrderDetails.PONo INNER JOIN Supplier ON " +
        "PurchaseOrder.SupplierNo = Supplier.SupplierID " +
        "GROUP BY PurchaseOrder.PONo,Supplier.SupplierName, PurchaseOrder.PODateReceived, PurchaseOrder.PODeliveryDate ORDER BY PurchaseOrder.PODate DESC";

您可以尝试使用
select DISTINCT
ie

cmd.CommandText = "SELECT DISTINCT Supplier.SupplierName, PurchaseOrder.PONo, PurchaseOrder.PODate, " +
        "PurchaseOrder.PODateReceived, PurchaseOrder.PODeliveryDate, " +
        "FROM PurchaseOrder INNER JOIN PurchaseOrderDetails " +
        "ON PurchaseOrder.PONo = PurchaseOrderDetails.PONo INNER JOIN Supplier ON " +
        "PurchaseOrder.SupplierNo = Supplier.SupplierID " +
        "ORDER BY PurchaseOrder.PODate DESC";
或者尝试使用分组方式

cmd.CommandText = "SELECT Supplier.SupplierName, PurchaseOrder.PONo, PurchaseOrder.PODate, " +
        "PurchaseOrder.PODateReceived, PurchaseOrder.PODeliveryDate, " +
        "FROM PurchaseOrder INNER JOIN PurchaseOrderDetails " +
        "ON PurchaseOrder.PONo = PurchaseOrderDetails.PONo INNER JOIN Supplier ON " +
        "PurchaseOrder.SupplierNo = Supplier.SupplierID " +
        "GROUP BY PurchaseOrder.PONo,Supplier.SupplierName, PurchaseOrder.PODateReceived, PurchaseOrder.PODeliveryDate ORDER BY PurchaseOrder.PODate DESC";

只需在查询中使用distinct
选择distinct….
另一种方法选择Top 1I我不能使用Top 1,因为存在的数量比需要显示的数量少。只需在查询中使用distinct
选择distinct….
另一种方法选择Top 1I不能使用Top 1,因为存在的问题比需要显示的问题要多,所以我如何做出不同的声明?@gamered123:-我已经在我的答案中添加了查询。你可以用它。我已经把它放好了,但它仍然占3rows@gamered123:-尝试使用
SELECT TOP 1 Supplier.SupplierName,PurchaseOrder.PONo,….
TOP 1无法使用,因为我还需要显示不同的交易记录。我只是想说明我是否做了一个不同的陈述?@gamered123:-我已经在我的答案中添加了这个查询。你可以用它。我已经把它放好了,但它仍然占3rows@gamered123:-尝试使用
SELECT TOP 1 Supplier.SupplierName,PurchaseOrder.PONo,….
TOP 1无法使用,因为我还需要显示不同的交易记录。我只是想消除重复