Спасибо всем за ваш вклад. Я использовал SqlDataReader, чтобы просмотреть таблицу и выбрать детали пользователя. Кажется, теперь все работает нормально. Вот что я придумал:
Dim strSelectedPersonID As String
Dim strSelectedPersonName As String
Dim strSelectPosition As String
Dim strBadgeNo As String
Dim strDateHired As String
Dim strContactNo As String
Dim strEmail As String
Dim strEmerContactNo As String
Dim strContactPerson As String
Dim strRemarks As String
If e.CommandName = "Select" Then
idx = Convert.ToInt32(e.CommandArgument)
Dim row As GridViewRow = gvPerson.Rows(idx)
strSelectedPersonID = row.Cells(1).Text
Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionString2").ToString())
conn.Open()
Dim dsPerson As New DataSet()
Dim dr As SqlDataReader
Dim strSelectCmd As String = "SELECT * FROM Personnel WHERE SempID = @SempID "
Dim cmd As New SqlCommand(strSelectCmd, conn)
cmd.Parameters.AddWithValue("@SempID", strSelectedPersonID)
cmd.Connection = conn
dr = cmd.ExecuteReader()
If dr.HasRows Then
While (dr.Read())
strSelectedPersonName = dr(1).ToString
strSelectPosition = dr(2).ToString
strBadgeNo = dr(3).ToString
strDateHired = dr(4).ToString
strContactNo = dr(5).ToString
strEmail = dr(6).ToString
strEmerContactNo = dr(7).ToString
strContactPerson = dr(8).ToString
strRemarks = dr(10).ToString
End While
End If
'strSelectedPersonName = cmd.ExecuteScalar()
tbSecName.Text = strSelectedPersonName
tbEditPosition.Text = strSelectPosition
tbEditBadge.Text = strBadgeNo
tbEditHireDate.Text = strDateHired
tbEditContactNo.Text = strContactNo
tbEditEmail.Text = strEmail
tbEmerNo.Text = strEmerContactNo
tbEditContactPerson.Text = strContactPerson
tbEditRemarks.Text = strRemarks
conn.Close()
End Using
End If
tbEditName.Text = strSelectedPersonName
tbSecID.Text = strSelectedPersonID
tbSecName.Text = strSelectedPersonName
JCL имеет единицы для контакта с полномочиями файла и ими совместимость заявления D2009.
"Низкоуровневый набор компонента" NT Colin Wilson переносит API, в которых Вы нуждаетесь, и Delphi поддержек 2009, а также более ранние выпуски. Однако Вы, возможно, должны полагаться на документацию MS и образцы, если Вы нуждаетесь в подробной помощи для реализации определенной операции. Можно найти компоненты (и другие) по http://www.wilsonc.demon.co.uk/delphi.htm. Они - freeware/donationware. Я нашел много использования для них за эти годы.
Хотя не собственный Delphi, Вы могли использовать SetACL. С этим у Вас есть 2 опции. Можно окружить и назвать SetAcl.exe из программы Delphi, или можно использовать SetACL.OCX и назвать ее непосредственно из кода.
Конечно, необходимо было бы распределить SetAcl.ocx с приложением, но оно работает очень очень хорошо.