php - सही तिथि को पुनर्स्थापित कैसे करें अगर इसे हाल ही में डाला गया




sql-server sdk (2)

यदि कर्मचारियों की उपस्थिति रजिस्टर करने के लिए मेरे पास ZKTime मशीन है

कभी-कभी यह मशीन एसक्यूएल सर्वर डीबी में गलत लेन-देन की तरह गलत बाद की तारीख में बहुत सारे लेन-देन डालती है

8-2103 बजाय 11-2016

इस समस्या के संभावित कारण क्या हैं और अगर मैं समस्या का पता नहीं लगा पाता है तो सही तारीख को कैसे बहाल करना है?

https://code.i-harness.com


यदि यह स्थिर त्रुटि थी, तो आप कर सकते हैं

update table set Checktime = DATEADD(YEAR, -97, dateadd(MONTH,-4,checktime)) where checktime > '2017-12-12'

उदाहरण के लिए


एक संभावित समाधान, तारीख को मान्य करने और तदनुसार अपडेट करने के लिए एक ट्रिगर का उपयोग करना है। मेज पर प्राथमिक कुंजी को आईडी के रूप में मानते हैं, अगर एक नई डाली गई पंक्ति में आज की तारीख होती है, तो यह वर्तमान दिनांक समय पर रीसेट किया जा सकता है क्योंकि कर्मचारी उपस्थिति रिकॉर्ड भविष्य में नहीं हो सकता।

CREATE TRIGGER CorrectTheDate on Config
FOR INSERT
AS

DECLARE @CT DateTime
DECLARE @id int

SELECT @CT = i.CheckTime FROM inserted i;
SELECT @id= i.id FROM inserted i;

if(@CT >= DATEADD(dd,1,getdate()))
UPDATE MyTable SET CheckTime=getdate() WHERE id=@id

GO




time-and-attendance