Below is my code:
@{
Layout = "/_SiteLayout.cshtml";
var db = Database.Open("MyDatabase");
var query = "SELECT * FROM Team";
var Teams = db.Query(query);
}
<form>
<table>
<tr>
<td>Team Name</td>
<td>Played</td>
<td>Points</td>
</tr>
@{ foreach(var Team in Teams){
<tr>
<td>@Team.TeamName</td>
<td><input type="text" value="@Team.Played" name="Played"/></td>
<td><input type="text" value="@Team.Points" name="Points"/></td>
</tr>
}
}
</table>
</form>
This is the result:
So what I want to do is update my whole table.
What is the SQL query to do this? I want to update Points
and Games Played
in my database for all teams once the form is posted.
Following is My Solution. Anyone have an efficient Solution?
@{
var db = Database.Open("MYDATABSE");
var query = "SELECT * FROM Team";
var Teams = db.Query(query);
var InsertQuery = "";
if(IsPost){
foreach(var Team in Teams){
var Points = Request[Team.TeamName];
var TeamId = Team.TeamId.ToString();
var Played = Request[TeamId];
var executeQueryString="UPDATE Team Set Points=@0, Played=@1 WHERE TeamId=@2";
db.Execute(executeQueryString, Points, Played, Team.TeamId);
}
Response.Redirect("~/UpdateTable.cshtml");
}
}
<br /><br />
<form action="" method="post">
<table>
<tr>
<td><h5>Team Name</h5></td>
<td><h5>Played</h5></td>
<td><h5>Points</h5></td>
</tr>
@{ foreach(var Team in Teams){
<tr>
<td>@Team.TeamName</td>
<td><input type="text" value="@Team.Played" name="@Team.TeamId"/></td>
<td><input type="text" value="@Team.Points" name="@Team.TeamName"/></td>
</tr>
}
}