Visual Studio2012WebサイトプロジェクトのSQLServerに問題があります。例えば; 「name」(varchar(16))列と「surname」(varchar(16))列を持つ「user」という名前のテーブルがあります。name: "john" surname: "holiday"などの新しいデータを追加しましたが、SQLServerは変数の残りの部分を空白文字で自動的に埋めます。のようです。どうすればこれをブロックできますか?問題を明確に説明できれば幸いです。
protected void LoginButton_Click(object sender, EventArgs e)
{
string connectionString = "Data Source=MYPC-PC\\SQLEXPRESS;Initial Catalog=fff;Integrated Security=True";
SqlConnection connection = new SqlConnection(connectionString);
try
{
connection.Open();
}
catch (Exception s)
{
FailureText.Text = s.ToString();
}
SqlCommand cmd = new SqlCommand("SELECT * FROM [person] WHERE user_name='" + UserName.Text + "' AND user_password='" + Password.Text + "' ", connection);
SqlDataReader dr = null;
dr = cmd.ExecuteReader();
while (dr.Read())
{
if (this.CompareStrings(dr["user_name"].ToString(), UserName.Text) &&
this.CompareStrings(dr["user_password"].ToString(), Password.Text))
{
FailureText.Text = "ok";
}
else
{
FailureText.Text = "no";
}
}
connection.Close();
dr.Close();
}
たとえば、「dr ["user_name"]」変数をデバッグしているときは、watchの変数のようになります。