c#如何编写代码:如果数据库中的数据与输入的数据相同,请执行此操作
所以我创建了这个命令来从数据库中检索数据,现在的问题是如何编写代码,如果输入的数据与数据库中的数据相同,它将关闭此表单并打开一个新表单c#如何编写代码:如果数据库中的数据与输入的数据相同,请执行此操作,c#,database,C#,Database,所以我创建了这个命令来从数据库中检索数据,现在的问题是如何编写代码,如果输入的数据与数据库中的数据相同,它将关闭此表单并打开一个新表单 SqlDataAdapter command = new SqlDataAdapter("select * from tblLogin where Gebruikersnaam = @Gebruiker and GeheimeVraag = @GeheimeVraag and Antwoord = @Antwoord", con); DataTa
SqlDataAdapter command = new SqlDataAdapter("select * from tblLogin where Gebruikersnaam = @Gebruiker and GeheimeVraag = @GeheimeVraag and Antwoord = @Antwoord", con);
DataTable dt = new DataTable();
command.SelectCommand.Parameters.AddWithValue("@Gebruiker", txtGebruikersnaam.Text);
command.SelectCommand.Parameters.AddWithValue("@GeheimeVraag", ddlGeheimeVraag.Text);
command.SelectCommand.Parameters.AddWithValue("@Antwoord", txtAntwoord.Text);
command.Fill(dt);
if ()
{
this.Hide();
FormLoginWW2 ss = new FormLoginWW2();
ss.Show();
}
else
{
MessageBox.Show("Error");
}
您可以,并评估:
SqlData
SqlCommand command = new SqlCommand("select 1 from tblLogin where Gebruikersnaam = @Gebruiker and GeheimeVraag = @GeheimeVraag and Antwoord = @Antwoord", con);
command.SelectCommand.Parameters.AddWithValue("@Gebruiker", txtGebruikersnaam.Text);
command.SelectCommand.Parameters.AddWithValue("@GeheimeVraag", ddlGeheimeVraag.Text);
command.SelectCommand.Parameters.AddWithValue("@Antwoord", txtAntwoord.Text);
var value = command.ExecuteScalar();
if (Object.Equals(value, 1))
{
//Success
}
else
{
//Failure
}
“1”的值可能会被计算为int,而不是bool,因此如果希望查询中出现bool,可以在查询中强制转换。。。如果不是1,表示没有返回结果,则返回'DBNull.Value'。您可以,并计算:
SqlData
SqlCommand command = new SqlCommand("select 1 from tblLogin where Gebruikersnaam = @Gebruiker and GeheimeVraag = @GeheimeVraag and Antwoord = @Antwoord", con);
command.SelectCommand.Parameters.AddWithValue("@Gebruiker", txtGebruikersnaam.Text);
command.SelectCommand.Parameters.AddWithValue("@GeheimeVraag", ddlGeheimeVraag.Text);
command.SelectCommand.Parameters.AddWithValue("@Antwoord", txtAntwoord.Text);
var value = command.ExecuteScalar();
if (Object.Equals(value, 1))
{
//Success
}
else
{
//Failure
}
“1”的值可能会被计算为int,而不是bool,因此如果希望查询中出现bool,可以在查询中强制转换。。。如果不是1,表示没有返回任何结果,则返回'DBNull.Value'。我相信您的查询是在db表中查找特定的行,如果它存在,则执行某些操作。你可以在下面做
if(dt!=null)
{
if(dt.Rows.Count>0)
{
//do your code
}
}
更新:
一种方法如下所述:
另一种方法是我解释的。您可以将查询更改为返回第一条记录(我假设它始终是一条记录,因为它是一个登录名)
我相信您的查询是在db表中查找特定的行,如果它存在,您可以做些什么。你可以在下面做
if(dt!=null)
{
if(dt.Rows.Count>0)
{
//do your code
}
}
更新:
一种方法如下所述:
另一种方法是我解释的。您可以将查询更改为返回第一条记录(我假设它始终是一条记录,因为它是一个登录名)
“如果数据正确”是什么意思?如果输入的数据与数据库中的数据相同,您将如何判断。对这个问题进行了编辑,希望它能更清楚地表达你所说的“如果数据是正确的”是什么意思?如果输入的数据与数据库中的数据相同,您将如何判断。对这个问题进行了编辑,希望它能更清晰,它给了我这个错误编辑:啊,如果在哪里将sqldataadapter更改为just adapter,我需要添加什么名称空间引用?对不起,更改为SQLCommand;您不需要适配器-只需使用命令即可。奇怪的是,它会给我以下错误编辑:啊,如果要将sqldataadapter更改为just adapter,我需要添加什么名称空间引用?抱歉,更改为SQLCommand;你不需要适配器-只需使用命令即可。不,我想检查我放在文本框中的数据是否与数据库中的数据相同。就像在登录系统中一样,谢谢你花时间回答我的问题,很遗憾,我会选择上面的一个作为我的最佳答案,因为我认为var value=command.ExecuteScalar();对将来的工作非常有用。不过,在使用datatable时,我肯定也会使用您的方法。我希望你不要因为我没有选择你作为最佳答案而生气:/再次感谢你的回答!别担心。我同意。我个人认为这是更好的方法,我只是想添加一个替代方案。嘿,你能帮我跟进这个问题吗?你似乎是个很好的程序员。我自己编写了我需要的大部分程序,但我只是不知道如何再做一件事。一旦我完成了等待时间,我将在另一条评论中发布一个问题的链接。我知道这样请求你的帮助听起来有点粗鲁,但我想既然你已经了解我的程序,我不妨试试。我希望你不介意这样做:/当然,张贴链接。当我有空闲时间的时候我会看一看。不,我想检查我放在文本框中的数据是否与数据库中的数据相同。就像在登录系统中一样,谢谢你花时间回答我的问题,很遗憾,我会选择上面的一个作为我的最佳答案,因为我认为var value=command.ExecuteScalar();对将来的工作非常有用。不过,在使用datatable时,我肯定也会使用您的方法。我希望你不要因为我没有选择你作为最佳答案而生气:/再次感谢你的回答!别担心。我同意。我个人认为这是更好的方法,我只是想添加一个替代方案。嘿,你能帮我跟进这个问题吗?你似乎是个很好的程序员。我自己编写了我需要的大部分程序,但我只是不知道如何再做一件事。一旦我完成了等待时间,我将在另一条评论中发布一个问题的链接。我知道这样请求你的帮助听起来有点粗鲁,但我想既然你已经了解我的程序,我不妨试试。我希望你不介意这样做:/当然,张贴链接。我有空的时候去看看