Ich habe eine SQL Server-Datenbank, die eine Menge Informationen enthält.SQL Server - Tabelle aktualisieren und die aktualisierten Zeilen zurückgeben
Ich möchte Top 50 Zeilen in einer einzigen Abfrage auswählen (was ich tat, ohne Problem), aber dann möchte ich eine Spalte von false auf true aktualisieren, so nächstes Mal wähle ich nicht dasselbe, mein Code sieht wie folgt aus:
string Command = "UPDATE HubCommands SET [Alreadytaken] = 'true' FROM (SELECT TOP 50 [CommandId],[DeviceId],[Commandtext], [HashCommand],[UserId] FROM HubCommands) I WHERE [HubId] = '18353fe9-82fd-4ac2-a078-51c199d9072b'";
using (SqlConnection myConnection = new SqlConnection(SqlConnection))
{
using (SqlDataAdapter myDataAdapter = new SqlDataAdapter(Command, myConnection))
{
DataTable dtResult = new DataTable();
myDataAdapter.Fill(dtResult);
foreach (DataRow row in dtResult.Rows)
{
Guid CommandId, DeviceId, UserId;
Guid.TryParse(row["CommandId"].ToString(), out CommandId);
Guid.TryParse(row["DeviceId"].ToString(), out DeviceId);
Guid.TryParse(row["UserId"].ToString(), out UserId);
Console.WriteLine("CommandId" + CommandId);
}
}
}
Dieser Code funktioniert, und es aktualisiert, was ich es zu aktualisieren fragen, aber ich nichts in der Datentabelle nicht bekommen, es ist wie es immer aktualisiert, aber die Auswahl nicht.
Wenn ich eine normale Auswahl mache, funktioniert es und gibt Informationen.
Hat jemand eine Idee, wie man Daten in einer einzelnen Abfrage aktualisiert und erhält?
Danke für die 0und1 Information, ich wusste das nicht. aber das gibt mir immer noch keine Informationen zurück. weißt du, warum? Danke –
@AlonM das ist eine Update-Anweisung. Möchten Sie die aktualisierten Datensätze zurückgeben? – user3185569
Ja. Ich brauche sie, damit ich mit ihnen in meinem Code arbeiten kann, wie Sie können, ich versuche, die Informationen zu Konsole in diesem Code zu schreiben, danke! –