【发布时间】:2023-03-16 01:20:01
【问题描述】:
我很难弄清楚我该怎么做。我想做的是..
例如:
日期:2018 年 10 月 1 日至 2018 年 10 月 31 日,有 2 条记录,如您在提供的图像上所见。您可以看到 id 从 001 开始,依此类推。下个月是 11 月。id 应该重新启动/回到 001 而不是 003。
PS:OrderID 在我的数据库中是 VARCHAR 数据类型
希望有人能帮助我
public partial class SIMSSupplier : UserControl
{
ADDPOrders order;
public SIMSSupplier()
{
InitializeComponent();
}
public string ORDERID = "000";
private void ADDOrder_Click(object sender, EventArgs e)
{
order = new ADDPOrders(this);
POrderID._OrderID(order.lbl_orderID);
order.ShowDialog();
}
private void DateOrder_ValueChanged(object sender, EventArgs e)
{
DateBetween._DateOrder(DateOrder, DateOrder, PurchaseOrder);
}
private void DateOrder2_ValueChanged(object sender, EventArgs e)
{
DateBetween._DateOrder(DateOrder, DateOrder2, PurchaseOrder);
}
}
public static class DateBetween
{
public static void _DateOrder(DateTimePicker DateOrder, DateTimePicker DateOrder2, DataGridView PurchaseOrder)
{
using (var con = SQLConnection.GetConnection())
{
using (var select = new SqlCommand("Select * from Purchase_Order where Date between @date1 and @date2", con))
{
select.Parameters.Add("@date1", SqlDbType.Date).Value = DateOrder.Value;
select.Parameters.Add("@date2", SqlDbType.Date).Value = DateOrder2.Value;
using (var sd = new SqlDataAdapter(select))
{
var dt = new DataTable();
sd.Fill(dt);
PurchaseOrder.DataSource = dt;
}
}
}
}
}
【问题讨论】:
-
要更新现有值,您可以:全选(真实 ID、OrderID、日期)。按月分组。选择(真实 ID,订单 ID = 索引+1)。然后更新您的数据。
-
真实ID是什么意思?
-
我的意思是你必须在表中的某处有一个真实的 ID,一个身份,唯一的,不会被重置。您将如何编辑 Purchase_Order?通过查找具有相同 id 和 date 的行?
-
很遗憾我没有真实身份,我正在使用 OrderID 来编辑我的数据。
-
如果你打算每个月重置它,你不能只使用 OrderId。然后,您将需要通过至少与日期和 orderid 进行比较来使用复合材料。否则,您最终会修改/删除具有相同 orderid 的每个条目。
标签: c# sql-server winforms