我的代碼不工作。我嘗試了一些不同的東西,但不知道從哪裏去。我在下面的查詢中添加了從null開始的值。在運行我的代碼之後,分數值仍然爲空。在SQL查詢中使用「更新」和「連接」一起增加數據庫值
答案數據庫和WeeklyPredictions數據庫都有其他問題的幾個屬性。這僅僅是一個使用的第一個問題1.
var Q1 = "";
var weeknumber = "";
if (IsPost)
{
if (Request.Form["weeknumber"] != null)
{
weeknumber = Request.Form["weeknumber"];
}
if (Request.Form["Question1"] != null)
{
string selectedAnswer = Request.Form["Question1"].ToString();
Q1 = Request.Form["Question1"];
}
var db = Database.Open("foo");
var q1w = ("UPDATE t1 " +
"SET t1.weeklyScore = t1.weeklyScore + 10, t1.totalScore = t1.totalScore + 10 " +
"FROM dbo.Scores as t1 " +
"INNER JOIN dbo.WeeklyPredictions AS t2 " +
"ON t1.Id = t2.Id " +
"WHERE t2.Question1 = @0 " +
"AND t2.WeekNumber = @1");
db.Execute(q1w, Q1, weeknumber);
SQL的語法看起來不錯,所以我的猜測會成爲你變量賦值的問題。您可以手動運行SSMS中的SQL(使用特定的Question1值和WeekNumber值)嗎?怎麼了? – Aron
嗨,我沒有SSMS ...也許我會下載它。我知道我在WeeklyPredictions數據庫中有值,可以爲用戶分數添加分數。儘管如此,分數爲零。我可以看到數據庫設計,我可以看到表中有什麼@Aron –
您不必使用SSMS(儘管我認爲它使事情更簡單),也許您可以使用硬編碼值執行ASP代碼。只是爲了找出問題所在。是'weeknumber = Request.Form [「weeknumber」];'與表完全相同的數據類型?有沒有填充空格或字符? SQL語句需要完全匹配。只是把它扔在那裏,因爲我不能肯定地說。 – Aron