我有以下代码。
public partial class Form1 : Form
{
SqlConnection sc=new SqlConnection("Data Source=HP-HP;Initial Catalog=MIND;Integrated Security=True");
SqlDataAdapter dc=new SqlDataAdapter();
DataSet ds = new DataSet();
public Form1()
{
InitializeComponent();
CustomTextBox ctb = new CustomTextBox();
ctb.KeyDown += new KeyEventHandler(txtlogin_userid_KeyDown);
}
public class CustomTextBox : System.Windows.Forms.TextBox
{
protected override bool IsInputKey(Keys keyData)
{
if (keyData == Keys.Return)
return true;
return base.IsInputKey(keyData);
}
}
private void txtlogin_userid_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
//Enter key is down
//Capture the text
if (sender is TextBox)
{
TextBox txb = (TextBox)sender;
dc.SelectCommand = new SqlCommand("select * from UserMaster where UserID='" + txb.Text + "'", sc);
dc.Fill(ds);
dg.DataSource = ds.Tables[0];
txtlogin_name.Text = ds.Tables[0].Rows[0][1].ToString();
txtlogin_mailid.Text = ds.Tables[0].Rows[0][2].ToString();
sc.Open();
SqlCommand cmd = new SqlCommand("select Location from UserMaster where UserID='" + txb.Text + "'" ,sc);
string a = Convert.ToString(cmd.ExecuteScalar());
MessageBox.Show(a);
sc.Close();
string b = "MIND";
if()
{
radioMIND.Checked = true;
}
else
{ radiomssl.Checked = true;
}
}
}
在textlogin_keydown
功能中,在显示值为a的消息框后,问题开始。我在数据库中有两种价值。其中一个有“MIND”,另一个有“MSSL”。我必须在文本框txb中输入一个数字。
现在的问题是,无论我在文本框中输入什么号码,消息框都会显示正确的信息,即mind或mssl,但if else部分是错误的。它始终检查无线电按钮,无论是它的思想还是mssl。
我知道有一些SQL注入问题,但我并不关心。我只是希望这段代码能够顺利运行,请帮助