いくつか問題があります。以下のコードは新しい行でテーブルを更新しますが、この行のすべてのフィールドは空です。テキストフィールドからテーブルMembersの新しい行に入力データを取得したいと思います。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Web.Configuration;
public partial class Default4 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
txtFirstName.Text = "";
txtLastName.Text = "";
txtAdress.Text = "";
txtResidence.Text = "";
txtEmail.Text = "";
}
protected void btnRegister_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(
WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand("INSERT INTO Members(FirstName, LastName, Adress, Residence, Email) VALUES (@txtFirstName, @txtLastName, @txtAdress, @txtResidence, @txtEmail)", con);
cmd.Parameters.AddWithValue("@txtFirstName", txtFirstName.Text);
cmd.Parameters.AddWithValue("@txtLastName", txtLastName.Text);
cmd.Parameters.AddWithValue("@txtAdress", txtAdress.Text);
cmd.Parameters.AddWithValue("@txtResidence", txtResidence.Text);
cmd.Parameters.AddWithValue("@txtEmail", txtEmail.Text);
try
{
con.Open();
cmd.ExecuteNonQuery();
lblConfirm.Text = "Database updated, insert confirmed!";
txtFirstName.Text = "";
txtLastName.Text = "";
txtAdress.Text = "";
txtResidence.Text = "";
txtEmail.Text = "";
}
finally
{
con.Close();
}
}
}
この行を変更した場合:
SqlCommand cmd = new SqlCommand("INSERT INTO Members(FirstName, LastName, Adress, Residence, Email) VALUES (@txtFirstName, @txtLastName, @txtAdress, @txtResidence, @txtEmail)", con);
このようなものに:
SqlCommand cmd = new SqlCommand("INSERT INTO Members(FirstName, LastName, Adress, Residence, Email) VALUES ('@txtFirstName', '@txtLastName', @txtAdress, @txtResidence, @txtEmail)", con);
次のようなフィールドを持つ行が出力されます。@txtFirstName | @txtLastName | [空]| [空]| [空]|
どんな助けでも素晴らしいでしょう、ありがとう!