私のコードが機能しません。私はいくつかのことを試しましたが、ここからどこに行くのかは分かりません。次のクエリでnullから始まる値に追加します。私のコードを実行した後、スコア値はまだnullです。SQLクエリで「更新」と「結合」を併用してデータベースの値を増やす
AnswersデータベースとWeeklyPredictionsデータベースの両方には、追加の質問のためのいくつかの属性があります。このSQL NULL + 10
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の構文はOKのようですので、私の推測は変数の割り当てに問題があります。特定のQuestion1値とWeekNumber値を使用して、SSMSでSQLを手動で実行できますか?何が起こるのですか? – Aron
こんにちは、私はSSMSを持っていない...多分私はそれをダウンロードします。私は、ユーザースコアにポイントを追加するために働くWeeklyPredictionsデータベースに値があることを知っています。それでも、スコアはnullです。私はデータベースの設計を見ることができ、テーブルの内容を見ることができます@Aron –
SSMSを使用する必要はありません(ただし、作業は簡単だと思いますが)、ハードコードされた値でASPコードを実行できます。問題がどこにあるかを特定するだけです。 'weeknumber = Request.Form [" weeknumber "];'テーブルとまったく同じデータ型ですか?パディングされたスペースや文字はありますか? SQLステートメントには完全一致が必要です。私は確かに言うことができないので、そこにそれを投げてください。 @Aronに感謝します。 – Aron