我的代码有问题,但我找不到问题所在...... 我有一台服务器,上面安装了 SQL Server。我的数据库在服务器上运行。我将服务器数据库连接到我的程序,当我在程序中输入登录详细信息时,它就会进入(到目前为止一切顺利)。 但我想测试一下,如果服务器关闭并且数据库关闭,当我输入登录详细信息时,会出现错误消息“服务器关闭!”出现。但是,当服务器出现故障并且我尝试输入我的程序并输入登录数据时,它会无限崩溃。 我现在的代码:
private void btnEntrar_Click(object sender, EventArgs e)
{
String username, user_password;
username = txt_user.Text;
user_password = txt_pw.Text;
try
{
String querry = "SELECT * FROM login WHERE username = '" + txt_user.Text + "' AND password = '" + txt_pw.Text + "'";
SqlDataAdapter sda = new SqlDataAdapter(querry, conn);
DataTable dtable = new DataTable();
sda.Fill(dtable);
if (dtable.Rows.Count > 0 && txt_user.Text == username && txt_pw.Text == user_password)
{
username = txt_user.Text;
user_password = txt_pw.Text;
// Salvar as credenciais se "Lembrar-me" estiver marcado
if (cb_lembrarpw.Checked)
{
Properties.Settings.Default.username = txt_user.Text;
Properties.Settings.Default.password = txt_pw.Text;
Properties.Settings.Default.Save();
}
else
{
// Limpar as credenciais salvas
Properties.Settings.Default.username = string.Empty;
Properties.Settings.Default.password = string.Empty;
Properties.Settings.Default.Save();
}
Form_Inicio form2 = new Form_Inicio();
form2.Show();
this.Hide();
}
else
{
MessageBox.Show("Login inválido", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
txt_user.Clear();
txt_pw.Clear();
txt_user.Focus();
}
}
catch
{
MessageBox.Show("Erro de conexão ao servidor!","Erro", MessageBoxButtons.OK);
}
finally
{
conn.Close();
}
}
我尝试删除部分代码以查看它是否来自某个地方,但我找不到导致程序崩溃的原因。
尝试在连接字符串中添加超时。例如字符串连接字符串=“...;连接超时=”