Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 选中SQL中的值以启用文本框和标签_C#_Sql_Winforms_If Statement - Fatal编程技术网

C# 选中SQL中的值以启用文本框和标签

C# 选中SQL中的值以启用文本框和标签,c#,sql,winforms,if-statement,C#,Sql,Winforms,If Statement,我在C#中有一个WinForm应用程序,我需要根据上一个表单上选择的项目隐藏一些文本框和标签。 我在设计器中禁用了文本框和标签,并根据SQL表中的值使它们再次可见。 我的代码是这一个,但我不知道如何检查值 private void build_Load(object sender, EventArgs e) { con.Open(); SqlCommand cmd = con.CreateCommand(); cmd.CommandType = CommandType.

我在C#中有一个WinForm应用程序,我需要根据上一个表单上选择的项目隐藏一些文本框和标签。 我在设计器中禁用了文本框和标签,并根据SQL表中的值使它们再次可见。 我的代码是这一个,但我不知道如何检查值

private void build_Load(object sender, EventArgs e) 
{
    con.Open();
    SqlCommand cmd = con.CreateCommand();
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "select prumos from dbo.modelos";
    SqlDataReader dr = cmd.ExecuteReader();

    if (dr.HasRows)
    {
        while (dr.Read())
        {
            var check = dr["prumos"].ToString();
            textBox13.Visible = check == "2";
            textBox18.Visible = check == "2";
            textBox17.Visible = check == "2";
            label16.Visible = check == "2";
            return;
        }
    }
    else
    {
        //var check = dr["prumos"].ToString();
        //textBox13.Visible = check == "3";
        //textBox18.Visible = check == "3";
        //textBox17.Visible = check == "3";
        //textBox14.Visible = check == "3";
        //textBox16.Visible = check == "3";
        //textBox15.Visible = check == "3";
        //label16.Visible = check == "3";
        //label20.Visible = check == "3";
        //return;
    }
    con.Close();
我还想在的情况下应用一个
else,这样如果id为2。。。如果id为3,则会出现一些文本框。。。他们中的更多人出现了

谁能帮忙吗

提前感谢。

cmd.ExecuteNonQuery();通常用于执行不返回结果的SQL语句(如Update语句)

改用类似的方式:

var prumos = cmd.ExecuteScalar();
cmd.ExecuteNonQuery();通常用于执行不返回结果的SQL语句(如Update语句)

改用类似的方式:

var prumos = cmd.ExecuteScalar();
通过编辑您的代码,您可以执行类似于我上面所示的操作。 通过使用ExecuteScalar()将返回您的对象,您可以根据您的要求或来自数据库的值将其转换为int或string,并以我上面提到的方式使用它

通过编辑您的代码,您可以执行类似于我上面所示的操作。
通过使用ExecuteScalar()将返回对象,您可以根据需要或来自数据库的值将其强制转换为int或string,并以我上面提到的方式使用它。

SqlReader可以检查您的命令值。选中此项:

con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select prumos from dbo.modelos";
SqlDataReader dr = cmd.ExecuteReader();  



  if (dr.HasRows)
   {

         while(dr.Read())
        {
           var check = dr["prumos"].ToString()
            //if "2" then true, else false 
            textBox13.Visible = check == "2";
        }

   }

 else
  {
     //no row return
  }

SqlReader可以检查您的命令值。选中此项:

con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select prumos from dbo.modelos";
SqlDataReader dr = cmd.ExecuteReader();  



  if (dr.HasRows)
   {

         while(dr.Read())
        {
           var check = dr["prumos"].ToString()
            //if "2" then true, else false 
            textBox13.Visible = check == "2";
        }

   }

 else
  {
     //no row return
  }

谢谢你的帮助,但是你能帮我理解一下
的语法吗?如果
的语法我看不太对。我想要的是这样的东西
if prumos value from dbo.modelos=2
…谢谢您的帮助,但是您能帮我使用
if
语法吗?我似乎无法正确理解这一点。我想要的是这样的东西
如果dbo.modelos中的prumos值=2
…我认为这是完美的,但是当我应用代码时,我得到错误:_数据不存在时无效的读取尝试。u在
var check=dr[“prumos”].ToString()行中桌面有数据。现在我没有收到任何错误,但是我与数据库失去了连接,我将把上面的代码编辑成新版本。你能看一下吗?谢谢你的邀请help@MarcIT我刚测试过。它在我的电脑上运行得很好。读取值后是否关闭读卡器和连接?是的,我使用了命令
dr.close()
con.Close()这是否正确?文本框需要启用,但对于此权限不可见?我认为这是完美的,但当我应用代码时,我得到错误:_数据不存在时无效的读取尝试。u在
var check=dr[“prumos”].ToString()行中桌面有数据。现在我没有收到任何错误,但是我与数据库失去了连接,我将把上面的代码编辑成新版本。你能看一下吗?谢谢你的邀请help@MarcIT我刚测试过。它在我的电脑上运行得很好。读取值后是否关闭读卡器和连接?是的,我使用了命令
dr.close()
con.Close()这是否正确?需要启用texbox,但此权限不可见?