Ich habe eine Tabelle namens Town, die eine Beziehung zwischen Spieler und einem Spieler Gebäude hält. Die Tabelle hat die diese Säulen: userid (int) buildingid (int) Nummer (int)Cant Update-Tabelle in SQL C#
I haben erfolgreich ein neues Gebäude für einen Spieler eingelegt und ich habe jetzt Mühe, die bestimmte Zeile für einen Spieler zu aktualisieren.
Ich habe diesen Code:
if (!existPlayerBuilding(userid, buildingid))
{
SqlConnection sqlcon = new SqlConnection(connectionString);
string query = "INSERT INTO Town VALUES(@userid, @buildingid, @number)";
SqlCommand sqlcom = new SqlCommand(query, sqlcon);
sqlcom.Parameters.Add("@userid", userid);
sqlcom.Parameters.Add("@buildingid", buildingid);
sqlcom.Parameters.Add("@number", number);
try
{
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
}
catch (Exception i)
{
lblTestlabel.Text = "SQL FEILET";
}
lblTestlabel.Text = "Bygningen ble kjøpt!!!!";
}
else
{
SqlConnection sqlcon = new SqlConnection(connectionString);
string query = "UPDATE Town VALUES(@userid, @buildingid, @number) WHERE userid = @userid AND buildingid = @buildingid";
SqlCommand sqlcom = new SqlCommand(query, sqlcon);
sqlcom.Parameters.Add("@userid", userid);
sqlcom.Parameters.Add("@buildingid", buildingid);
sqlcom.Parameters.Add("@number", number);
try
{
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
}
catch (Exception i)
{
lblTestlabel.Text = "SQL FEILET";
}
lblTestlabel.Text = "Bygningen ble kjøpt!!!!";
}
Die existPlayerBuilding Methode gibt true zurück, wenn ein Spieler bereits ein Gebäude mit der angegebenen ID und andernfalls false hat. Wenn ich laufe und teste, wenn ich eine Zahl für ein Benutzergebäude aktualisieren kann, passiert nichts.
Es ist oft hilfreich problematischen SQL-Befehle in Management Studio zu laufen Syntaxfehler abtasten. – RQDQ