【发布时间】:2020-09-30 15:44:22
【问题描述】:
我正在我的 WinForms 项目中使用 ComboBox。
我从 ComboBox 中显示的 SQL 服务器表值中获得属性 LIB。
我需要获取 selectedItem 的另一个属性 OID 并将其从第一个表单 (FormMaster) 传递到另一个表单 (FormImport)。
con.Open();
SqlCommand cmd = new SqlCommand("SELECT [ID] FROM [AffecAnalytique].[dbo].[DESCRIPTIF] WHERE [LIBELLE]='" + comboBox3.Text + "' ", con);
SqlDataReader rdr = cmd.ExecuteReader();
if (!rdr.HasRows)
{
try
{
string strOIDe = rdr["OID"].ToString();
textBox1.Text = rdr["OID"].ToString();
MessageBox.Show(strOIDe);
}
catch (Exception ex) { }
MessageBox.Show("tesssssssssst");
}
else MessageBox.Show("11111");
con.Close();
【问题讨论】:
-
警告: SQL 很容易受到注入攻击。你必须解决这个问题。
-
重新开始。编写直接引用特定硬编码数据库的tsql通常是一个巨大的问题。这种做法将防止在同一实例中使用多个环境,并防止使用不同名称的数据库(例如一个用于 clientx,一个用于 clienty)。您的连接应该确定该数据库存在的位置。
标签: c# sql-server forms winforms