检查选择列 ASP.NET C# 的数据库中是不是存在值

Posted

技术标签:

【中文标题】检查选择列 ASP.NET C# 的数据库中是不是存在值【英文标题】:Check if value exists in the database which is selected column ASP.NET C#检查选择列 ASP.NET C# 的数据库中是否存在值 【发布时间】:2020-07-01 20:56:00 【问题描述】:

我想检查数据库中是否存在“jin”。

但我现在可以在我的 ASP.NET 中找到真正的登录。

我认为这意味着我在第一列第二列中找不到“jin”,

我放了时间表。

我的代码不起作用..帮帮我。

SqlConnection con = new SqlConnection();
con.ConnectionString = @"Data Source=IT\SQLEXPRESS;Initial Catalog=Gentl;Persist Security Info=True;User ID=sa;Password=sjin101!";
con.Open();

SqlCommand cmd = new SqlCommand();
cmd.CommandText = "select * From Time";
cmd.Connection = con;

SqlDataReader rd = cmd.ExecuteReader();

while (rd.Read())

    if (rd[1].ToString() == "jin")
    
        flag = true;
        break;
    

if (flag == true)

    TextBox1.Text = "Find";

else
    TextBox1.Text = "no";

【问题讨论】:

显示的表格有名为“11:00AM”、“11:30AM”的列 - 对吗?我只是想知道您是否可以更改 cmd.CommandText 以便按名称选择所有列,以确保知道 rd[1] 的内容是什么 【参考方案1】:

如果您想同时在所有列中搜索jin,一种选择是将列取消转置为行,然后进行条件聚合:

select max(case when x.val = 'jin' then 1 else 0 end) found
from time t
cross apply (values
    ([11:00AM]),
    ([11:30AM]),
    ([12:00PM]),
    ([12:30PM]),
    ...
) x(val)

这会生成一个名为found 的标量结果集(单行和单列),如果该值存在于values() 行构造函数中列出的列中的任何位置,则包含1,如果存在则包含0没有。

【讨论】:

@SangYongJin:只要有可能,在数据库中进行计算总是更有效,而不是选择所有内容,然后在您的应用程序中循环...... @SangYongJin 。 . .您的问题带有两个数据库标签和 asp.net 标记。根本没有 C# 标签。我建议你接受这个答案。【参考方案2】:

可以在查询中直接包含对“jin”的检查,一旦执行,就可以检查sqldatareader是否有行。

我只在下面的示例中包含了前两列,但您可以包含其余的列。

       SqlConnection con = new SqlConnection();
       con.ConnectionString = @"Data Source=IT\SQLEXPRESS;Initial Catalog=Gentl;Persist 
       Security Info=True;User ID=sa;Password=sjin101!";
       con.Open();

       SqlCommand cmd = new SqlCommand();
       cmd.CommandText = "select * From Time where 11:00AM= \"jin\" or 12:00AM = \"jin\"";
       cmd.Connection = con;

       SqlDataReader rd = cmd.ExecuteReader();

       if(rd.HasRows()) 
           TextBox1.Text = "Find";
       
       else
           TextBox1.Text = "no";

【讨论】:

以上是关于检查选择列 ASP.NET C# 的数据库中是不是存在值的主要内容,如果未能解决你的问题,请参考以下文章

使用 C# 在 ASP.NET 中检查 SQL Server 表中的列值是不是为空

如何确定在 C# ASP.NET CORE MVC 5.0 中选择了哪个单选按钮

能够在 ASP.NET 中包含文件,但不检查它是不是存在

如何检查当前页面是不是在 ASP.Net 中使用 SSL?

使用 ASP.NET MVC C# 和引导日期选择器将不起作用

如何在 asp.net c# 中检查病毒扫描的结果?