如何在c#中连接不同表中的三个值

时间:2016-01-13 19:36:35

标签: c#

我正在使用C#Winforms应用程序。我想将三个不同表中的三个值连接成一个标签。

我已经尝试过这行代码来从表中获取值,但它不起作用。

this.label15.Text = reader["CourseName" + "TeacherName" +"RoomName"].ToString();

请帮帮我。

4 个答案:

答案 0 :(得分:1)

您的代码将尝试查找列CourseNameTeacherNameRoomName。您需要分别获取3个值,然后将它们连接起来。

this.label15.Text = reader["CourseName"].ToString() + reader["TeacherName"].ToString() + reader["RoomName"].ToString();

答案 1 :(得分:0)

this.label15.Text = reader["CourseName" + "TeacherName" +"RoomName"].ToString(); - 这是次要的,因为表格中的结果键是"CourseNameTeacherNameRoomName"。你确定你的桌子上有这么一把钥匙吗?

要实现此目的,只需为每次访问使用一个密钥名称即可。或者,正如Mihail Stancescu在评论中所说的那样,您可以使用String.Concat方法

<强>更新

根据您在评论中提出的问题,要以不同的值显示每个值,您需要String.Format方法:

String.Format("{0},\r\n{1},\r\n{2}", reader["CourseName"], reader["TeacherName"], reader["RoomName"]) - 这是一个返回和新行车厢的案例;或者使用Environment.NewLine

String.Format("{0},{3}{1},{3}{2}", reader["CourseName"], reader["TeacherName"], reader["RoomName"], Environment.NewLine)

答案 2 :(得分:0)

对我来说最好的解决方案(最灵活的)是使用string.Format(...)方法。

简单地写一下:

this.label15.Text = string.Format("{0} {1} {2}", reader["CourseName"], reader["TeacherName"], reader["RoomName"]);

答案 3 :(得分:0)

您必须从reader单独访问您的值,如此...

this.label15.Text = string.Format("{0}{3}{1}{3}{2}",
  reader["CourseName"].ToString(), 
  reader["TeacherName"].ToString(), 
  reader["RoomName"].ToString(), 
  System.Environment.NewLine);

我还使用string.Format()来构建您想要的文本,并包含由字符串中的{3}表示并填充System.Environment.NewLine的新行。