我正在使用C#Winforms应用程序。我想将三个不同表中的三个值连接成一个标签。
我已经尝试过这行代码来从表中获取值,但它不起作用。
this.label15.Text = reader["CourseName" + "TeacherName" +"RoomName"].ToString();
请帮帮我。
答案 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
的新行。