我在数据库中有数据。我读了这些数据并将其显示在网格中。为此,我使用DataSet, SqlDataAdapter, BindingSource and DataGridView
表格如下。
+---------+------------+-------------+
| NAME | SURNAME | LESSON_CODE |
+---------+------------+-------------+
| Joe | Black | 110 |
| Mia | Sommers | 120 |
| Hasan | Almalik | 100 |
| Anna | Volkova | 100 |
| Robert | Jackson | 115 |
| Tony | Bernard | 120 |
| Diana | Albert | 115 |
| Tom | Bruce | 110 |
+---------+------------+-------------+
我从像这个sql查询的表中读取这些数据。
string sql = "SELECT Name, Surname, Lesson_Code as Lesson FROM Class"
SqlDataAdapter adapter = new SqlDataAdapter();
SqlCommand selectCommand = new SqlCommand(sql,connection);
adapter.SelectCommand = selectCommand;
DataSet ds = new DataSet();
adapter.Fill(ds,"Class");
BindingSource bs = new BindingSource(ds,"Class");
gridClass.DataSource = bs;
确定。没有任何问题 但我不想在网格中显示课程代码。我有一个课程和课程代码列表。
100 - MATH
110 - GEOMETRY
115 - BIOLOGY
120 - ASTRONOMY
etc.
我不将此列表存储在数据库中。如果我将这个列表存储在表中,我可以使用表连接的sql查询来解决这个问题 但我不想这样做。我不想使用SQL查询。我想从代码中做到这一点。 所以我认为我可以用BindingSource解决这个问题。但我不知道怎么样?或者可能有另一种方式?
答案 0 :(得分:0)
如果您说您有另一个表格,其中包含与代码相关联的课程名称,那么您必须进行联接。您的查询应该是这样的。
SELECT a.Lesson_Name, b.Surname, b.Name
FROM LessonTable a, Class b
WHERE a.Lesson_Code = b.Lesson_Code
答案 1 :(得分:0)
我认为您希望将结果绑定到数据表中。
然后使用新的数据表,用前一个数据表和课程列填充