Импортировать поля хеш-таблицы в набор записей adodb - PullRequest
0 голосов
/ 26 октября 2010

Привет, есть хеш-таблица и набор adodb.recordset.Имена полей hashtable совпадают с именами полей adodb.recordset. Как я могу импортировать значение полей hashtable в поля adodb.recordset, не делая это вручную?

ex

Dim Tot As ADODB.Recordset
Dim h As Hashtable = New Hashtable

h("a") = 1
h("b") = 2
h("d") = 4

набор записейимеет поля: "a", "b", "d"

я хочу импортировать значения хеш-таблицы в наборе записей

спасибо

1 Ответ

0 голосов
/ 26 октября 2010

Поскольку я до сих пор не знаю, каков ключ / значение вашей HashTable, я предполагаю, что существует только одна запись из db, а имена полей (столбцы) записи являются ключом и значением этих полейэто значение в HashTable для этого ключа (имя поля).

Это должно работать, хотя я боюсь, что ваше требование - что-то другое.

    Dim hash As New Dictionary(Of String, Object)'this is your "HashTable"'
    Dim con As New SqlClient.SqlConnection(My.Settings.SQLSERV2_RM2)
    Try
        Using con
            Using command As New System.Data.SqlClient.SqlCommand("SELECT idClaimStatus, ClaimStatusName FROM dimClaimStatus ORDER BY ClaimStatusName", con)
                command.Connection.Open()
                Using reader As System.Data.SqlClient.SqlDataReader = command.ExecuteReader
                    While reader.Read
                        For i As Int32 = 0 To reader.FieldCount - 1
                            Dim field As String = reader.GetName(i)
                            If Not hash.ContainsKey(field) Then
                                hash.Add(field, reader(i))
                            Else
                                hash(field) = reader(i)
                            End If
                        Next
                    End While
                End Using
            End Using
        End Using
    Catch ex As Exception
        Throw
    Finally
        'nothing to do here because using closes the connection automatically'
    End Try

Я предоставил образец DataReader, ното же самое работает (надеюсь) для ADODB.Recordset (кстати, зачем вам такие устаревшие вещи?).

...