【发布时间】:2012-04-19 17:10:31
【问题描述】:
我正在创建一个数据库,以便存储用户名和密码。我已经在 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");
}
}
}
}
【问题讨论】:
-
您可能使用了错误的连接字符串。 “Microsft visual Express C# 2010”不是产品,我假设您的意思是通过 Visual Studio Express。您是如何创建数据库的?
-
你说你没有得到任何反馈,所以你的程序只是运行还是......?
-
删除 try/catch 块,因为它们正在吞噬实际错误。您可以查看错误类型、消息和堆栈跟踪以确定确切的问题。当用户在消息框上单击“确定”时,尝试捕获也会产生更多问题。
-
我认为它的视觉工作室表达,但我使用它的 C# 版本。我在程序本身上创建了数据库,它具有创建数据库的选项,就像在 SQL 服务器管理快递上一样。或 MYSQL。
标签: c# database sqlcommand