[英]Compare Two Date From Date at Form C# Visual Studio and Date From Database SQL Server
I want make a auto number based date and number at "Transaction" Form. 我想在“交易”表格上创建一个基于自动编号的日期和数字。 But i have problem with make a "condition" to compare date "today" and date "yesterday".
但是我有一个使“条件”比较日期“今天”和日期“昨天”的问题。 If date is different, then will make a new "autonumber" from number 1. For example, that date is 2019-08-08 so the ID from "permintaanId" is P2019080803 (two last number is how many transaction make that day).
如果日期不同,则将从数字1中创建一个新的“自动编号”。例如,该日期为2019-08-08,因此来自“ permintaanId”的ID为P2019080803(最后两个数字是当天进行的交易次数)。 And tomorrow is 2019-08-09 will make ID P2019080901 (two last number will reset because no one transaction make)
明天是2019-08-09,它将产生ID P2019080901(由于没有人进行交易,因此将重置最后两个数字)
private void auto()
{
long hitung;
string urut;
SqlConnection conn = konn.GetConn();
conn.Open();
cmd = new SqlCommand("select permintaanId from permintaan_data where permintaanId in(select max(permintaanId) from permintaan_data) order by permintaanId DESC", conn);
rd = cmd.ExecuteReader();
rd.Read();
if (rd.HasRows) //<- this condition
{
hitung = Convert.ToInt64(rd[0].ToString().Substring(rd["permintaanId"].ToString().Length - 2, 2)) + 1;
string joinstr = "00" + hitung;
urut = "P" + DateTime.Now.ToString("yyyyMMdd") + joinstr.Substring(joinstr.Length - 2, 2);
}
else
{
urut = "P" + DateTime.Now.ToString("yyyyMMdd") + "01";
}
rd.Close();
txt_noPermintaan.Text = urut;
conn.Close();
}
DECLARE @permintaanId INT=0
DECLARE @NewNo VARCHAR(40)=''
select @permintaanId=CAST(ISNULL(MAX(RIGHT(permintaanId,1)),0)+1 AS INT)
FROM permintaan_data
WHERE CAST([tranData] AS DATE) =CAST(GETDATE() AS DATE)
SET @NewNo='P'+CONVERT(VARCHAR(10),GETDATE(),112)+CAST(@permintaanId AS VARCHAR(10))
SELECT @NewNo
get last item created 获取最后一个创建的项目
cmd = new SqlCommand("select top1 permintaanId from permintaan_data order by DESC", conn);
rd = cmd.ExecuteReader();
if (rd.HasRows)
{
var id = rd["the one with p and 2 numbers at the end"].ToString();
var dateLastCreated = id.ToString().Remove(0,1).Remove(id.Length-2,2);
if (dateLastCreated == DateTime.Now.ToString("yyyyMMdd"))
{
//increment
}
else
{
//create new
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.