ウィザード コントロールを使用して、ユーザーに複数の手順を実行させています。ステップ 1 から開始しますが、「はい」または「いいえ」(ラジオ ボタン) と答えると、いくつかのステップをスキップすることがあります。たとえば、いくつかのステップの最後に「問題は解決しましたか?」という質問が表示されます。はいまたはいいえのラジオボタンの選択肢があります。答えが「はい」の場合は、最後のステップに進んで完了してください。答えが「いいえ」の場合、次のステップに進みます。
私の問題は、データベース内のテーブル テストのすべての手順から結果を取得することです。
string constring = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["ClientMonitorDevices"].ConnectionString;
SqlConnection conn = new SqlConnection(constring);
SqlCommand cmd = new SqlCommand();
cmd = conn.CreateCommand();
cmd.CommandText = @"INSERT INTO test (siteid, hotelname, step1, step2)
VALUES (@siteid, @hotelname, @step1, @step2)";
cmd.Parameters.AddWithValue("@siteid", siteid);
cmd.Parameters.AddWithValue("@hotelname", hotelname);
int activeStep = Wizard1.ActiveStepIndex;
switch (activeStep)
{
case 1:
if (step1_yes.Checked)
{
step1 = "Device Can Detect Network with a Signal Strength of 50% or Greater";
Wizard1.ActiveStepIndex = 2;
}
else if (step1_no.Checked)
{
step1 = "Device Cannot Detect Network with a Signal Strength of 50% or Greater";
Wizard1.ActiveStepIndex = 16;
}
else
{
e.Cancel = true;
gen.MessagBox(this.Page, "Please choose Yes or No", "Please choose Yes or No");
}
cmd.Parameters.AddWithValue("@step1", step1);
break;
case 2:
if (step2_unable.Checked)
{
step2 = "Unable to Join Network";
Wizard1.ActiveStepIndex = 3;
}
else if (step2_unidentified.Checked)
{
step2 = "Connect to Unidentified Network";
Wizard1.ActiveStepIndex = 7;
}
else if (step2_internet.Checked)
{
step2 = "Connected (Internet Access)";
Wizard1.ActiveStepIndex = 11;
}
else if (step2_local.Checked)
{
step2 = "Connected Local Only (No Internet Access)";
Wizard1.ActiveStepIndex = 15;
}
else
{
e.Cancel = true;
gen.MessagBox(this.Page, "Please Choose One of the Options", "Please Choose One of the Options");
}
cmd.Parameters.AddWithValue("@step2", step2);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
break;
私が得るエラーは、スカラー変数 "@step1" を宣言する必要があります。step1は範囲外であるか、それが私の考えです。ストアドプロシージャを試しましたが、それもうまくいきませんでした。
別の試みは update ステートメントを使用することでしたが、私が遭遇した問題は、インデックス可能な ID 列 (インデックス) を取得し、挿入ごとに 1 ずつインクリメントすることです。誰かが何かアイデアを持っているなら、ぜひ私に知らせてください。私はこれに約2週間取り組んできましたが、役に立ちませんでした。