vb.net + sql server

Brauni

Erfahrenes Mitglied
hallo

Folgendes habe ich schon geschafft:
Verbindung mit MS Access zu einem SQL Server 2000. In Access werden verschiedene Berechnungen durchgeführt und in ein Excel Sheet übertragen. Mit den berechneten Daten werden dann div. Diagramme dargestellt.

Ich möchte allerdings MS Access weglassen (keine Erstellung von .exe Datei möglich). Problem ist ja auch, dass nicht jeder Access am PC installiert hat. Die Chance auf Excel ist da, meiner Meinung nach, viel höher!

Kennt ihr vielleicht Tutorials die ich benötige bzw. Bücher dazu?

Bitte um Info! :)
 

Norbert Eder

Erfahrenes Mitglied
Im System.Data Namespace sollte alles drinnen sein was du brauchst. Angefangen vom SqlClient bis hin zur SqlConnection etc. Damit kannst du alles was du brauchst realisieren.

Zudem hier einfach mal im Forum danch suchen, da sollte dir einiges unterkommen.
 

Brauni

Erfahrenes Mitglied
hallo

habe folgendes von einem Freund bekommen. Zugriff per Excel funktioniert nur bei dieser Zeile hängt er sich auf:
.Range("A1").Value = datensatz.Tables.Item(0)

Fehler:
COMException wurde nicht behandelt!

Kennt sich wer aus?

Code:
Dim connection As New SqlConnection("Server=192.168.0.93\SQLEXPRESS;Database=testdb;User ID=asdf;Password=a;Trusted_Connection=False;")
        connection.Open()

        adapter = New SqlDataAdapter("SELECT * FROM lager", connection)

        Dim builder As SqlCommandBuilder = New SqlCommandBuilder(adapter)



        adapter.UpdateCommand = builder.GetUpdateCommand()
        adapter.InsertCommand = builder.GetInsertCommand()
        adapter.DeleteCommand = builder.GetDeleteCommand()

        adapter.Fill(datensatz)

        With objExcel
            .Visible = True
            .Workbooks.Add()
            .Range("A1").Value = datensatz.Tables.Item(0)
            .Range("A1").ColumnWidth = 20
            .Range("A1").Font.Bold = True
            .Range("A2").Value = "So. Main St."
            .Range("A3").Value = "Hartford" & ", " & "CT"
        End With
 

Nico Graichen

Erfahrenes Mitglied
Hi,

Hast du schon mal den Debugger angeworfen?
Breakpoint an die Stelle wo's kracht und kontrollieren, ob alle Objekte den gewünschten Inhalt haben, bringt manchmal schon des Rätsels Lösung.

Zudem:
Die ComException sollte auch eine Message enthalten:
Wie lautet die?
Gibts auch eine InnerException? Wenn ja: Wie ist deren Inhalt?
 

Brauni

Erfahrenes Mitglied
servus

habs jetzt so gelöst und es funktioniert auch so:
.Cells(1, 1) = datensatz.Tables.Item(0).Rows(0).Item(0)

ich nehme an, dass ich das Inhalt von einem Array nicht in eine Excelzelle hineinschreiben konnte. Deshalb der Fehler!