【发布时间】:2011-12-14 13:40:43
【问题描述】:
我正在使用Windows Forms,并且我有一个包含值的组合框:
苹果
橙子
对
我的文本框包含值 1、2 和 3,
苹果 = 1,橙子 = 2,对 = 3。
这个关系在我的 SQL 表中,字段 Account 和 Name。如果组合框选择为橘子,如何将文本框的值更改为 = 2?
基本上这是对我正在开发的一个程序的引用,该程序有一个显示帐户名称的帐户组合框(用户友好)。我需要将姓名 ID 帐号显示在文本框中。然后,我可以从这个文本框中将值传递到我的存储过程中,该过程将获取该帐户的所有信息。
更新
以上文字已过时。见下文!
需要补充的一点是,我的代码获取了帐户详细信息并填充了我的组合框。
有没有简单的方法来做到这一点?或者这是否需要在 C# 中加入类似于表上的 SQL 联接?
或者根本不使用文本框,基本上我的组合将有 2 个橙色字段,2 个但只向用户显示橙色,但我的其他方法使用第二个字段 2。
好的,所以这部分将acc字段添加到组合框中。
{
SqlCommand accountFill = new SqlCommand("SELECT name, acc FROM dbo.Customer", conn1);
SqlDataReader readacc = accountFill.ExecuteReader();
while (readacc.Read())
{
AddItem(readacc.GetString(0).ToString(), readacc, "name", "acc");
}
conn1.Close();
}
添加项是我的任务使用的调用方法。
private void AddItem(string value, Object dataSource, string name, string acc)
{
if (accCollection.InvokeRequired)
{
accCollection.Invoke(new Action<string,Object,string,string>(AddItem), new Object[] { value });
}
else
{
//accCollection.Items.Add(value);
accCollection.DataSource = dataSource;
accCollection.DisplayMember = name;
accCollection.ValueMember = acc;
}
}
ERROR 复杂数据绑定在数据源处接受 i.list 或 i.list 源作为数据源。
【问题讨论】:
-
甚至是 Asp 页面 - webforms 或 MVC?
-
这是一个非常宽泛的问题,人们很难为您提供您可能想要的确切答案。简单地说,您的应用程序应该有一个处理所有数据库交互的数据层。然后,该层为您的主应用程序提供数据类,使用定义的接口提供业务逻辑。数据类本身可以包含用户可读的用户名和用户 ID(来自您的数据表)。然后以某种方式将这些绑定到您的 UI 界面,应尽可能将其与业务逻辑分离。将数据库访问代码直接放入 UI 很诱人
-
这里有一个类似的帖子,可能对stackoverflow.com/questions/2209290/…有帮助
-
@ChrisBD 是的,如果这是一种 MVC 方法,但因为它是一种旧的 Winforms 方法 将 MVC 应用于应用程序 老板不想要或不需要。 (如果这是 asp.net MVC 应用程序,那么当然)
标签: c# winforms combobox textbox task