我的visual studio 2012网站项目中有关于SQL Server的问题。例如;我有一个名为“user”的表,其中包含“name”(varchar(16))和“surname”(varchar(16))列。我添加了新的数据,如名称:“john”surname:“holiday”,但SQL Server会自动用空白字符填充变量的其余部分。看起来像。我怎么能阻止这个?我希望我能清楚地解释我的问题。
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“]时,”变量就像观察中的变量:
答案 0 :(得分:1)
创建表时,您必须使用ANSI_PADDING设置。如果是这样,您将需要再次删除并创建表格。
答案 1 :(得分:1)
this.CompareStrings(dr["user_name"].ToString(), UserName.Text)--> dr["user_name"].ToString().Trim()
可能会解决你的问题