Übergeben Sie Parameter (das null sein könnte) und verwenden Sie sie in einer Auswahlabfrage [Duplikat]
Posted: 25 Feb 2025, 23:17
Ich habe meine Standardmethode zum Ausführen von Abfragen ... < /p>
Dies funktioniert einwandfrei, bis so etwas wie person.userid null ist, was manchmal passiert. Eigentlich könnte es den meisten (wenn nicht allen) meinen Parametern passieren. Für den Fall würde meine Frage so etwas lesen ... < /p>
Aber diese Abfrage würde aufgrund von userername = null und adress2 = null fehlschlagen. Beide müssen einen Benutzernamen haben, ist null und adress2 ist null damit die Abfrage richtig funktioniert.
Ich dachte, ich könnte nur nach "= null" suchen und ändern Sie es in "ist null", aber dann habe ich festgestellt, dass die Implementierung von Parametern das unmöglich macht.>
Code: Select all
parameters = new
{
Username = person.UserId,
person.Name,
person.Type,
person.Address1,
person.Address2,
person.City,
person.State,
person.PostalCode,
};
query = "SELECT TOP 1 * FROM people WHERE username = @Username AND name = @Name AND type = @Type AND address1 = @Address1 AND address2 = @Address2 AND city = @City AND state = @State AND postal_code = @PostalCode;"
rowId = Connection.QuerySingleOrDefault(
query,
param: parameters,
transaction: Transaction
);
Code: Select all
SELECT TOP 1 * FROM people WHERE username = NULL AND name = 'Mr User' AND type = 'Active' AND address1 = '5555 Main Street' AND address2 = NULL AND city = 'MyCity' AND state = 'GA' AND postal_code = 55555;
Ich dachte, ich könnte nur nach "= null" suchen und ändern Sie es in "ist null", aber dann habe ich festgestellt, dass die Implementierung von Parametern das unmöglich macht.>