gpt4 book ai didi

c# - 如何获取组合框 ID 以返回数据库

转载 作者:搜寻专家 更新时间:2023-10-30 23:40:25 24 4
gpt4 key购买 nike

void fill_cbcategoria()
{
try
{
con.Open();
string Query = "select * from Categoria";
SqlCommand createCommand = new SqlCommand(Query, con);
SqlDataReader dr = createCommand.ExecuteReader();
while (dr.Read())
{
string categoria = (string)dr.GetString(1);
cbcategoria.Items.Add(categoria);
}
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

我正在使用这段代码来填充我的类别组合框:

private void btneditar_Click(object sender, EventArgs e)
{
try
{
con.Open();
string Query = "insert into dbPAP.Categoria (id_categoria, categoria)" + "values('" + this.cbcategoria.SelectedValue + this.cbcategoria.SelectedItem + "') ;";
SqlCommand createCommand = new SqlCommand(Query, con);
SqlDataReader dr = createCommand.ExecuteReader();
MessageBox.Show("Editado com sucesso!");
while (dr.Read())
{

}
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

现在我想更新数据到数据库,但需要“id_categoria”,但我不知道该怎么做。在表“Categoria”中只有 2 个参数,即“id_categoria”= 0 和“categoria”= 1。问题是,我可以得到要使用 combobox.SelectedItem 在数据库中更新“id_categoria”值?

最佳答案

使用 executeNonQuery 执行插入命令。 SqlDataReader 通常用于从数据库中读取数据;您可以尝试以下操作:

   string Query = "insert into dbPAP.Categoria (id_categoria,categoria)values(@selectedVal,@selectedItem)";
SqlCommand createCommand = new SqlCommand(Query, con);
createCommand.Parameters.Add("@selectedVal", SqlDbType.VarChar).Value = this.cbcategoria.SelectedValue;
createCommand.Parameters.Add("@selectedItem", SqlDbType.VarChar).Value = this.cbcategoria.SelectedItem;
createCommand.ExecuteNonQuery();// return 1 in this case if insert success

很少suggestions为了更好地理解:

ExecuteReader : ExecuteReader 用于获取查询结果作为 DataReader 对象。它是只读的前向检索记录,它使用 select 命令从第一个到最后一个表中读取。

ExecuteNonQuery : ExecuteNonQuery 用于执行不返回任何数据的查询。它用于执行更新、插入、删除等sql语句。ExecuteNonQuery执行命令并返回受影响的行数。

您可以阅读更多关于 The purpose of parameterized queries 的信息

关于c# - 如何获取组合框 ID 以返回数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35591737/

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