Запись динамически созданых таблиц в файл БД из DataSet

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Dimitriy
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 25.10.2011 (Вт) 6:44

Запись динамически созданых таблиц в файл БД из DataSet

Сообщение Dimitriy » 25.10.2011 (Вт) 6:58

Здравствуйте. Начал делать программку для сбора информации об установленном ПО на компьютерах в сети организации и хранением ее в БД, с самим механизмом сбора проблем не возникло, но возникла проблема с записью в БД из DataSet таблиц. Весь инет перекопал, не могу найти как. Помогите если кто может. Вот код, правда без цикла перебора компьютеров:
Код: Выделить всё
Imports Microsoft.Win32
Imports System.Data.SqlClient

Public Class Form1
    Public dt As New DataTable
    Public ds As New DataSet
    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim connectionString As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=" & "Путь к БД" & ";Integrated Security=True;User Instance=True"
        Dim connect As SqlConnection = New SqlConnection(connectionString)
        connect.Open()
        Dim adapter As SqlDataAdapter = New SqlDataAdapter
        dt.Columns.Add("Установленные программы:")
        dt.Columns.Add("Версия")
        dt.Columns.Add("Дата установки")
        dt.Columns.Add("Разработчик")
        ds.Tables.Add(dt)
        Dim Key, Reader As RegistryKey, DisplayName, InstallDate, DisplayVersion, Publisher, ComputerName, Compname As String
        Key = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "IP компьютера").OpenSubKey("SYSTEM\ControlSet001\Control\ComputerName", False)
        For Each ComputerName In Key.GetSubKeyNames
            Reader = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "IP компьютера").OpenSubKey("SYSTEM\ControlSet001\Control\ComputerName\" & ComputerName, False)
            Compname = Reader.GetValue("ComputerName")
            dt.TableName = Compname
            Key = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "IP компьютера").OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", False)
            For Each DisplayName In Key.GetSubKeyNames
                Reader = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "IP компьютера").OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & DisplayName, False)
                If Reader.GetValueNames().Contains("DisplayName") Then
                    DisplayName = Reader.GetValue("DisplayName")
                    DisplayVersion = Reader.GetValue("DisplayVersion")
                    InstallDate = Reader.GetValue("InstallDate")
                    Publisher = Reader.GetValue("Publisher")
                    dt.Rows.Add(New String(DisplayName), (DisplayVersion), (InstallDate), (Publisher))
                End If
               adapter.Update(ds, dt.TableName)
            Next
        Next
        End Sub
End Class
Последний раз редактировалось Dimitriy 26.10.2011 (Ср) 4:08, всего редактировалось 2 раз(а).

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Запись динамически созданых таблиц в файл БД из DataSet

Сообщение FireFenix » 25.10.2011 (Вт) 22:59

Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 27

    TopList