0

ASP.NET は初めてです

以下のコマンドを実行しようとしているとき:

SqlConnection myconn=new SqlConnection();

myconn.ConnectionString = "Data Source=PINTU-PC\\SQLEXPRESS;Initial Catalog=pintuDB;Integrated Security=True";

myconn.Open();

string qry="insert into test values('"+ username +"')";

SqlCommand cmd=new SqlCommand(qry,myconn);

cmd.ExecuteNonQuery(); 

myconn.Close();

テーブル テストで「 System.Web.UI.WebControls.TextBox 」としてデータを取得しています。

助けてください。

4

1 に答える 1

4

.Text問題は、テキストボックスでプロパティを呼び出さなかったことです。あなたのテキストボックスの名前はそうであり、そうでなければusername使用されるべきだったと思います.username.Text連結のために、テキストボックスは文字列に変換され、System.Web.UI.WebControls.TextBox

string qry="insert into test values('"+ username.Text +"')";

セキュリティ上の理由から、コントロールの値をクエリで連結しないでください。パラメータを使用して SQL インジェクションを回避する必要があります。

string connectionString = "Data Source=PINTU-PC\\SQLEXPRESS;Initial Catalog=pintuDB;Integrated Security=True";
using(SqlConnection myconn = new SqlConnection(connectionString))
{
   string qry="insert into test values(@username)";
   SqlCommand cmd=new SqlCommand(qry, myconn);
   comm.Parameters.AddWithValue(@username, username.Text);
   cmd.ExecuteNonQuery();

   myconn.Close();
}
于 2013-09-21T08:24:45.843 に答える