C# 选中SQL中的值以启用文本框和标签
我在C#中有一个WinForm应用程序,我需要根据上一个表单上选择的项目隐藏一些文本框和标签。 我在设计器中禁用了文本框和标签,并根据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.
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,但此权限不可见?