代码的逻辑改进:获取所选供应商名称的供应商ID(组合框值)以显示在文本框中 [英] Logic Improvement on Code: Get the Supplier ID of selected Supplier Name (combobox value) to appear in a textbox

查看:111
本文介绍了代码的逻辑改进:获取所选供应商名称的供应商ID(组合框值)以显示在文本框中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此代码在组合框中选择一个项目后有效-但是当我更改选定的项目时-我收到错误消息.

您能帮我解决此代码吗?

This code works after selecting an item in the combo box --but when I change the selected item-- I get an error.

Can you help me fix this code?

string query = "select SupplierNo from Supplier WHERE SupplierName = '" + cbosupplier.SelectedItem.ToString() + "'";
              SqlCommand cmd = new SqlCommand(query, cn);
              cmd.CommandText = query;

              
              SqlDataReader rdr = cmd.ExecuteReader();

              while (rdr.Read())
              {
                  
                  txtsupplierno.Text = rdr["SupplierNo"].ToString();
              }

推荐答案

,您可以在搜索数据库之前检查cbosupplier.SelectedItem值.

如果为空或默认值,则可以避免在搜索前
you can check cbosupplier.SelectedItem value before search on database.

if there is empty or default value, you can avoid before search
var supplier = cbosupplier.SelectedItem.ToString();
if(!string.IsNotNullOrEmpty(supplier)|| supplier != "please Select supplier")
{
  // search on Database
}



并且您需要使用参数 [



And you need to use Parameters[^]

and Also check for null before call ToString

if (rdr["SupplierNo"] != DBNull.Value)
{
    ltlAdditional.Text = rdr["SupplierNo"].ToString();
}



还有一件事:

如果您需要附加文本,请使用



One more thing:

If you need to Append Text use

ltlAdditional.Text += rdr["SupplierNo"].ToString();


在底部,我添加了:


at the bottom, I added:


rdr.close();


这篇关于代码的逻辑改进:获取所选供应商名称的供应商ID(组合框值)以显示在文本框中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆