小编Giu*_*adu的帖子

根据变量变化对对象列表进行排序和更新

我正在研究一种可以解决我遇到的问题的算法,但我发现自己有点卡住了。这是场景:

我有一个对象,其中包含一个名为 order 的变量。

public class Item
{
     public int Order{get; set;};

     public int ID{get; set;}; // not incremented can be any value!
}
Run Code Online (Sandbox Code Playgroud)

所以我有一个列表:

List<Item> list = new List<Item>().OrderBy((o) => o.Order);
Run Code Online (Sandbox Code Playgroud)

并且可以随时更改订单值。因此,如果我想更改第一个项目订单值,则所有其他订单值都应相应更新,以免重复。

for (int i = 0; i <= list .Count - 1; i++)
{
    if (list [i].ID == inputID)
    {
        list [i].Order = inputNewPosition;
    }
    else
    {
        if (list [i].Order < inputNewPosition)
        {
            list [i].Order --;
        }
        else
        {
             list [i].Order ++;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我将最后一个项目的顺序更改为第一个,这将失败,因为这会使第一个项目的顺序为 0!

任何人都可以帮忙吗? …

c# algorithm int list

3
推荐指数
1
解决办法
2838
查看次数

PostgreSQL 将对象列表插入到存储过程中

我目前正在学习 PostgreSQL 并且在涉及存储过程时遇到了障碍。

我有一个包含这些列的订单表:

OrderId
OrderStatus
OrderTime
Run Code Online (Sandbox Code Playgroud)

我也有一个订单行表

OrderId
OrderLineId
OrderLineAmount
OrderLineCost
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个存储过程,该过程将创建一个订单,然后将一个订单行列表插入到第二个表中。

这是我到目前为止所拥有的:

CREATE OR REPLACE FUNCTION public.createcustomerorder(
_orderstatus integer, 
_ordertimestamp timestamp)
RETURNS int4 AS
$BODY$
  DECLARE 
    last_id int4;
  BEGIN

  INSERT INTO "Order"
    (orderstatus, ordertimestamp)
    VALUES(_orderstatus, _ordertimestamp)
    RETURNING orderid INTO last_id;
RETURN last_id;

END;
$BODY$
LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)

我发现很难弄清楚如何传递参数,然后如何进行实际插入。

谢谢你的时间

sql postgresql

2
推荐指数
1
解决办法
2429
查看次数

标签 统计

algorithm ×1

c# ×1

int ×1

list ×1

postgresql ×1

sql ×1