Ich arbeite an einer Transaktion Website. Wenn ein Abonnement erstellt wird, wird das Änderungsdatum in die Tabelle eingefügt. Was ich zu erreichen versuche, ist, diesen Datensatz eindeutig zu identifizieren. Hier ist, dass ich versuche:vergleichen sql Datum einfügen und C# Datum Zeit
DateTime currentTime = DateTime.Now;
Debug.WriteLine("Current Timestamp is: " + currentTime.ToString("yyyy-MM-dd HH:mm:ss:fff"));
sCmd.CommandText = "SELECT distinct userID FROM table WHERE Report_OID = @reportID AND ModifiedDate = @currentTime";
sCmd.Parameters.AddWithValue("@reportID", reportID);
sCmd.Parameters.AddWithValue("@currentTime", currentTime.ToString("yyyy-MM-dd HH:mm:ss:fff"));
Output:
Current Timestamp is: 2016-06-09 10:19:16:586
Modified Date is: 2016-06-09 10:19:16.553
dies versucht:
sCmd.CommandText = "SELECT LAST_INSERT_ID();";
IDataReader reader = sCmd.ExecuteReader();
while (reader != null && reader.Read())
{
long lastInsertedID = reader.GetInt64(0);
Debug.WriteLine("return id is : " + lastInsertedID);
}
Got this error:
'LAST_INSERT_ID' is not a recognized built-in function name.
This error may have happened due to the createSubscription method call to create a subscription in the reporting service webservice which handles the insert in the database. I do not have insert statements in my code.
Dies wird fehlschlagen, da die Millisekunden wird nicht die gleiche sein. Der Grund für die Verwendung von Millisekunden besteht darin, mehrere Benutzer-IDs zu verhindern, wenn zwei Benutzer gleichzeitig ein Abonnement einfügen.
Was ich versuche herauszufinden, vergleichen Sie diese beiden Daten, so kann ich genau die Benutzer-ID meiner Transaktion und keine Sorge um jemand anderes Benutzer-ID greifen, wenn zwei Transaktionen zur gleichen Zeit eingefügt werden. Ist das möglich? Versuche ich das auf die falsche Art zu lösen? Jede Hilfe wird geschätzt. Vielen Dank.
Woher weiß Ihr Code, ob Sie die richtige UserID haben? Fügen Sie einen Datensatz ein und versuchen dann, ihn sofort wieder abzufragen? Sich auf einen Zeitstempel alleine als einen Bezeichner zu verlassen, ist ungewöhnlich, weil es zwar UNBEDINGT unwahrscheinlich ist, dass Sie einen Konflikt haben werden, ist es nicht unmöglich, – DVK
Es gibt einige Probleme damit, da die Benutzer-ID die Sitzungs-ID der sein soll Benutzer bei der Anmeldung. Beim Aufrufen der Methode createSubscription wird eine Eigentümer-ID und nicht die Benutzer-ID des Berichts erstellt. Beim Versuch, die Eigentümer-ID als Benutzer-ID zuzuweisen, gibt es einige Konflikte. Was ich versuche zu prüfen, ist die Überprüfung der Eigentümer-ID, des ausgewählten Berichts und des Zeitstempels, die mir die richtige Eigentümer-ID des Berichts geben sollen. – NepCoder
Und ja, ich versuche, die ID sofort abzufragen. – NepCoder