gpt4 book ai didi

c# - 如何在同一个 ExecuteScalar() 命令中同时检查多个相等的记录

转载 作者:行者123 更新时间:2023-11-29 19:29:33 26 4
gpt4 key购买 nike

我在同一个 ExecuteScalar 命令中同时检查 2 条记录时遇到问题。

我想在本地数据库中不同列的同一行中一起搜索2条记录,我尝试像下面的代码一样进行操作,但只有在1个条件下执行它才可以,但我想要2个条件同时,在同一行。

这是我的代码,当我处于循环中时,每次检查 DataGridView 中的每一行是否等于我的本地数据库:

private void button3_Click(object sender, EventArgs e)
{

foreach (DataGridViewRow row in dataGridView1.Rows)
{

string constring = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\john\Documents\Visual Studio 2015\Projects\Project\Project\DB.mdf;Integrated Security=True";
using (SqlConnection con = new SqlConnection(constring))
{

using (SqlCommand sqlCommand = new SqlCommand("SELECT COUNT(*) from ResultsTable where TagNumber=@TagNumber AND Date=@Date", con))

{
con.Open();

string smdt1 = row.Cells["Exposure Date"].Value.ToString();
string format1 = "dd.MM.yyyy";
DateTime dt1 = DateTime.ParseExact(smdt1, format1, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);


sqlCommand.Parameters.AddWithValue("@Date", dt1);

sqlCommand.Parameters.AddWithValue("@TagNumber", row.Cells["Device #"].Value);


int userCount = (int)sqlCommand.ExecuteScalar();

if (userCount > 0)
{
MessageBox.Show("found!");
}
else
{
MessageBox.Show("not found!");
}

}
}
}

日期转换只是为了让我得到像 23.05.2015 这样的日期,并且我想将其转换为数据库的日期类型,例如 23/05/2015 。我只想检查同一行中 2 条记录的重复

(同一个表中的2个主键)在我插入它们之前。

最佳答案

在sql命令之后添加这个

IDataReader reader = cm.ExecuteReader();

while (reader.Read())
{
if (reader.GetValue(0) != 0)
// your Code
}

关于c# - 如何在同一个 ExecuteScalar() 命令中同时检查多个相等的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41896900/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com