初始的afterload事件代码如下
Dim str As String =GetConfigValue("保存的用户", "")
e.Form.Controls("UserName").ComboList = str
If str>"" Then
e.Form.Controls("UserName").SelectedIndex = 0
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow
cmd.C
cmd.CommandText = "Select * Fr om {用户管理表} Where [用户名] = '" & e.Form.Controls("UserName").value & "'"
dt = cmd.ExecuteReader
dr = dt.DataRows(0)
e.Form.Controls("UserPhoto").Image = GetImage(projectPath & "Attachments/" & dr("用户照片"))
End If
但是随着登录用户的增多,下拉框里面的用户名越来越多了,因此,为了只显示最后一个用户名,改动了一下,
改动后的afterload事件代码如下:
Dim str As String =GetConfigValue("保存的用户", "")
e.Form.Controls("UserName").ComboList = str.split("|")(0)
If str>"" Then
' e.Form.Controls("UserName").SelectedIndex = 0 ,这句是原来的代码,在此已注释
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow
cmd.C
cmd.CommandText = "Select * Fr om {用户管理表} Where [用户名] = '" & e.Form.Controls("UserName").value & "'"
dt = cmd.ExecuteReader
dr = dt.DataRows(0)
e.Form.Controls("UserPhoto").Image = GetImage(projectPath & "Attachments/" & dr("用户照片"))
End If
运行错误提示:索引超出了数组界限。
初步怀疑就是红色部分出了问题,怎么改动?请教!
[此贴子已经被作者于2015/8/18 0:34:18编辑过]