我正在创建一个数据库,因此我可以存储用户名和密码。我已经在Microsft Visual Express C#2010上成功创建了一个数据库。
我的程序似乎运行正常,并且没有产生任何错误消息,除了我没有得到任何反馈:看起来我的程序实际上并没有向数据库发出请求,或者没有返回结果。发生了什么事?
private void button1_Click(object sender, EventArgs e)
{
string connection = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";
SqlConnection cn = new SqlConnection(connection);
try
{
cn.Open();
}
catch (Exception)
{
MessageBox.Show("Did not connect");
}
string username = textBox1.Text;
string password = maskedTextBox1.Text;
string sqlquery = ("SELECT * FROM User WHERE Username = '" + textBox1.Text + "'");
sqlquery = "INSERT INFO [User] (Username, Password) VALUES ('" + textBox1.Text + "','" + maskedTextBox1.Text + "')";
SqlCommand Command = new SqlCommand(sqlquery, cn);
Command.Parameters.AddWithValue("Username", username);
Command.Parameters.AddWithValue("Password", password);
}
private void Form1_load(object sender, EventArgs e)
{
string connection = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";
SqlConnection cn = new SqlConnection(connection);
try
{
cn.Open();
}
catch (Exception)
{
MessageBox.Show("Did not connect");
}
}
}
}
答案 0 :(得分:3)
你实际上并没有执行SqlCommand
,所以你不会“看到”任何事情似乎是合乎逻辑的。尝试将以下行添加到button1_Click
的末尾:
Command.ExecuteNonQuery(); // actually execute the INSERT INFO... query
您的SQL代码存在一些问题,但执行命令后会收到异常。