[英]How search data from access database using phone number that without masked
[英]How to Save a number from Access database using Parameter?
我想更新一個球員的進球數,所以如果他進球了,我想更新他的進球數。 我需要它從數據庫中獲取玩家的進球數,然后將其與從網站上選擇的新數字相加。 任何人都可以幫助我嗎?
protected void SoccerTable_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
using (OleDbConnection sqlCon = new OleDbConnection(connectionStr))
{
sqlCon.Open();
string query2 = "SELECT Achievement FROM SoccerAchievements WHERE PlayerCode = @id";
OleDbCommand cmd = new OleDbCommand(query2, sqlCon);
cmd.Parameters.AddWithValue("@id", Convert.ToInt32(SoccerTable.DataKeys[e.RowIndex].Value.ToString()));
var reader = cmd.ExecuteReader();
reader.Read();
string SavedAchievementFromDB = reader["Achievement"].ToString();
int b = int.Parse(SavedAchievementFromDB); // Trying to Save The num of Goals from DataBase to int
int GoalsAfterSum = b + int.Parse(((SoccerTable.Rows[e.RowIndex].FindControl("AchNums") as DropDownList).Text.Trim())); // Trying to sum
string query = "UPDATE SoccerAchievements SET Achievement='" + GoalsAfterSum + "' WHERE PlayerCode = @id"; // Trying to Update
OleDbCommand sqlCmd = new OleDbCommand(query, sqlCon);
sqlCmd.Parameters.AddWithValue("@Goals", (SoccerTable.Rows[e.RowIndex].FindControl("AchNums") as DropDownList).Text.Trim());
sqlCmd.Parameters.AddWithValue("@id", Convert.ToInt32(SoccerTable.DataKeys[e.RowIndex].Value.ToString()));
sqlCmd.ExecuteNonQuery();
}
}
您不需要在更新之前從數據庫中獲取值,您只需更新 SQL 語句UPDATE SoccerAchievements SET Achievement = Achievement + @Goals
。
using (OleDbConnection sqlCon = new OleDbConnection(connectionStr))
{
sqlCon.Open();
// get the goals from the web control
string goalsText = (SoccerTable.Rows[e.RowIndex].FindControl("AchNums") as DropDownList).Text.Trim();
// try to parse goals to int
if (!int.TryParse(goalsText, out int goals))
{
// handle error
}
// try to parse user id to int
if (!int.TryParse(SoccerTable.DataKeys[e.RowIndex].Value.ToString(), out int id))
{
// handle error
}
// increment the value in sql statement
string query = "UPDATE SoccerAchievements SET Achievement = Achievement + @Goals WHERE UserID = @id";
OleDbCommand sqlCmd = new OleDbCommand(query, sqlCon);
sqlCmd.Parameters.AddWithValue("@Goals", goals);
sqlCmd.Parameters.AddWithValue("@id", id));
sqlCmd.ExecuteNonQuery();
lblSuccessMessage.Text = "עריכת הנתונים התבצעה בהצלחה";
lblErrorMessage.Text = "";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.