我对c#有些新意,我在尝试围绕这个if-then声明时遇到了一些麻烦。
这是我的目标:当用户在系统中输入订单时,会为每个订单创建唯一的订单ID。但是,一些附加功能是用户可以选择项目数,然后使用相同的orderID为每个项目创建一个新行。每个项目都有一个唯一的密钥。这给你这个:
ORDERID KEY ItemCode
ORD123 758 2
ORD123 584 2
ORD123 582 2
我遇到的问题是订单ID必须是唯一的,除非订单中有多个商品(如上所示为每个订单创建多个行)。
对我当前的代码有效: 单项订单ID,与其他单项订单ID一起检查
Existing Order : ORD111
Attempt to Enter new order of : ORD111
**Sorry OrderID already exists**
针对多个商品订单ID
检查单个商品订单ID Existing Order : ORD222
ORD222
ORD222
Attempt to enter new order of : ORD222
**Sorry OrderID already exists**
但是,当我输入多项订单ID时,
Existing Order : ORD333
ORD333
ORD333
Attempt to enter new order of ORD333
ORD333
ORD333
**Order Successfully Entered**
这是我的代码,用于检查ORDER ID
private bool isOrderIDUnique()
{
string OrderID = txtOrderID.Text;
string ItemAmount = txtItemAmount.Text;
int items = Convert.ToInt32(ItemAmount);
string select = getSelectString("COUNT(*)", strings.settings.AccessTable, "ORDERID = '" + OrderID + "'");
int count = CountOrderID(select);
if (count == 0)
{
return true;
}
if (count >= 1 && items > 1)
{
return true;
}
else
{
return false;
}
如果有人能帮我解决这个问题,我将不胜感激!我的IF声明中缺少哪一部分?如何针对群组检查群组?谢谢!
答案 0 :(得分:3)
我建议重新设计一个表格:
OrdersTable
OrderID User
1 Joe
其中OrderID
是代理主键
OrderDetailsTable
OrderID Key ItemCode
1 XXX 1
1 XXX 2
然后,您只需检查订单是否存在,而不是计数匹配。您似乎正在为自己和用户提供比它更复杂的功能。