将多行信息从数据库添加到文本框

时间:2015-12-29 22:06:18

标签: c# sql database forms

感谢您审核我的问题。基本上,在我的表格中...经理可以为员工设置提醒,所以当员工登录我的表格时......会提示经理提醒。

麻烦的是,数据包含来自同一用户的多个提醒,但当我将它们添加到文本框时,我收到此错误:

未处理的类型' System.InvalidOperationException'发生在System.Core.dll

附加信息:序列包含多个元素

我的代码:

                System.Windows.Forms.Form f = System.Windows.Forms.Application.OpenForms["Login"];
            int id = Convert.ToInt32(((Login)f).idTb.Text);
            SundownDatabaseEntities4 db = new SundownDatabaseEntities4();
            var getrecord = db.Reminders.Where(a => a.Id == id).SingleOrDefault();

            reminderTb.Text = Convert.ToString(getrecord.Reminder1);

如何在文本框中添加多个元素?我可以使用列表框吗?

1 个答案:

答案 0 :(得分:0)

听起来您正在尝试将多个不同的字符串附加到单个文本框中,在这种情况下,我将使用文本框上的appendText()扩展名来添加多个字符串。如果您愿意,也可以使用ListBox。为了方便起见,我会将Source设置为您发送的数据。

这是附加文本功能的链接 https://msdn.microsoft.com/en-us/library/system.windows.forms.textboxbase.appendtext(v=vs.110).aspx

以下是如何为列表框设置源代码的链接 https://msdn.microsoft.com/en-us/library/system.windows.forms.listcontrol.datasource(v=vs.110).aspx

修改

要添加,因为它是导致问题的其他因素我将使用:

List<object> objects = Enumerable.Select(i => i.id == id);

以下是msdn的链接以获取更多信息 https://msdn.microsoft.com/library/bb548891(v=vs.100).aspx

编辑2

在最终让我的VS更新并玩了之后,我认为你能做的最简单的事情是:

db.Reminders.ForEach(reminder => {if(reminder.Id == id){ reminderTb.AppendText(Convert.ToString(reminder.Reminder1));  }})

您可能需要相应地调整您的特定代码,不确定我的类结构是否正确,但是这将查看提醒数组,查看并在该特定ID上将文本附加到文本框中我想象你想要的是你的代码和我看到的类结构。这应该有效,因为您手动浏览数组并添加文本。