明白了。
这是我在BeforeLoadOuterTable事件中的代码
Dim dt As DataTable
Dim n As Integer
Dim cmd As new sqlcommand
cmd.C
cmd.CommandText = "s elect distinct 用户名,上分列名 FROM {授权表} WHERE 用户名 = N'" & user.name & "'"
dt = cmd.ExecuteReader
'output.show(user.name)
'output.show(dt.DataRows.Count)
Dim str As String
str = dt.DataRows(0)("上分列名")
'output.show(str)
If e.DataTableName = "学生成绩表" Then
e.S electString = "S elect [_Identify],[检测号]," & str & " From {学生成绩表} where substring([检测号],1,1) = '2'"
End If
运行后出错。

此主题相关图片如下:1.jpg


此主题相关图片如下:2.jpg

这里出错的原因是:这个事件发生时,datatable还没有形成,故不能引用数据源吗?