如何增加表达到的数量?

时间:2017-09-17 18:29:38

标签: c# mysql sql

我想将数据库中的表达到的数量增加到-example:

我的[CustomerNo]达到了50,我关闭了应用程序,再次打开它,我希望它从50(++)完成,我希望数字从1开始,如果它们达到250

Globals.order ++;是我用的。

这是我的代码:

private void Order()
        {
            using (SqlConnection connection = new SqlConnection(connectionString1))
            {
                String query = "INSERT INTO Tbl_order (OrderName,Quantity,Price,Serves_way,Date,CustomerNo) VALUES (@OrderName,@Quantity, @Price,'" + servers + "','" + time1.ToString(format1) + "','" + Globals.order + "' )";
                Globals.order++;

                connection.Open();
                using (SqlCommand command = new SqlCommand(query, connection))
                {
                    // Add the length of this text column as third parameter...
                    command.Parameters.Add("OrderName", SqlDbType.NVarChar, 50);
                    command.Parameters.Add("Quantity", SqlDbType.Int);
                    command.Parameters.Add("Price", SqlDbType.Money);
                    command.Prepare();

                    for (int i = 0; i < lst_OrderName.Items.Count; i++)
                    {
                        command.Parameters[0].Value = lst_OrderName.GetItemText(lst_OrderName.Items[i]);
                        command.Parameters[1].Value = Convert.ToInt32(lst_QTY.Items[i]);
                        command.Parameters[2].Value = Convert.ToDouble(lst_Price2.Items[i]);

                        command.ExecuteNonQuery();
                    }
                }
            }
        }

enter image description here

但是当我关闭应用程序时,它会再次从0重新启动。

2 个答案:

答案 0 :(得分:0)

您将获得上次使用的记录:

select customerno
from tbl_order
order by date desc
limit 1;

如果返回50,那么下一个要使用的数字将是51.但是,不清楚是否总是插入新记录,或者您是否一次在表中有250条记录并开始更新旧记录。如果是后者,您可能需要使用INSERT ... ON DUPLICATE KEY UPDATE

答案 1 :(得分:0)

如果您希望在关闭应用程序后保留值,则可能需要将其存储在数据库中。

您的Globals.order ++的目的是什么?

如果要增加订单号,您应该在数据库上使用某些内容,例如表上的AUTO INCREMENT列。这意味着无论何时插入新值,该值都会增加1.然后,您可以使用代码查找最近添加的数字。

如果你想让它在某一点重置,MySQL没有序列,但这可能会有所帮助:

How do I create a sequence in MySQL?

这有意义吗?