检查SqlDataReader之后的单选按钮
本文关键字:单选按钮 之后 SqlDataReader 检查 | 更新日期: 2023-09-27 18:21:16
我在一个面板中有两个单选按钮,我将它们的值保存为数字(0和1)以下是插入SQL:的代码
String typdop="1";
if(rb_a.Checked)typdop="0";
("INSERT INTO zajezd(typdop)values(@typdop")
prikaz.Parameters.AddWithValue("typdop", typdop);
为了阅读,我使用了这个:
SqlCommand novyprikaz = new SqlCommand("SELECT * FROM zajezd WHERE akce="+nc_zajezd_vyber, spojeni);
con.Open();
SqlDataReader precti = novyprikaz.ExecuteReader();
if (precti.Read())
{
try
{ rb_a.Checked = precti(32);}
visual studio给了我一个错误,因为我不知道如何更改rb_a
的Checked值,我想这样读:
如果数据库中保存了0
-检查rb_a
如果1
,我想检查rb_b
有人能帮忙解决这个问题吗?感谢
缺少太多详细信息,但您可以尝试使用此代码。
string cmdText = "SELECT * FROM zajezd WHERE akce=@p1";
SqlCommand novyprikaz = new SqlCommand(cmdText, spojeni);
novyprikaz.Parameters.AddWithValue("@p1", nc_zajezd_vyber);
spojeni.Open();
SqlDataReader precti = novyprikaz.ExecuteReader();
if (precti.Read())
{
try
{
bool check = Convert.ToBoolean(precti(32));
if(check)
rb_b.Checked = true;
else
rb_a.Checked = true;
}
}
请注意;如果nc_zajezd_vyber
不是数据库字段所要求的正确数据类型,则查询可能无法检索到任何内容。AddWithValue采用传递值中参数的数据类型。如果这不正确。。。。
出于同样的原因(AddWithValue想要数据库字段所期望的确切数据类型,那么您的插入代码应该是这样的:
int typdop=1;
if(rb_a.Checked) typdop=0;
string cmdText = "INSERT INTO zajezd(typdop)values(@typdop)";
SqlCommand prikaz = new SqlCommand(cmdText,spojeni);
prikaz.Parameters.AddWithValue("typdop", typdop);
spojeni.Open();
prikaz.ExecuteNonQuery();
....