Avatar billede flashit Nybegynder
11. januar 2005 - 21:54 Der er 6 kommentarer og
1 løsning

opret tabel og fyld denne med data

Hej E.

Har I en god ide til hvorledes jeg kan få oprettet en ny tabel i ”min” database,  og få denne nyoprettede tabel fyldt med data fra mit dataset.

Klart og præcist, men sikkert ikke særligt nemt :-)
Avatar billede flashit Nybegynder
11. januar 2005 - 21:55 #1
"Klart og præcist," eller hvad?
Avatar billede ronja7 Nybegynder
11. januar 2005 - 22:46 #2
Vil du oprette din tabel run time?
Avatar billede flashit Nybegynder
12. januar 2005 - 07:20 #3
Hvis dette er muligt, og ikke idiotisk ;-) (det er nok muligt)
Avatar billede arne_v Ekspert
12. januar 2005 - 07:30 #4
Selvfølgelig kan du oprette tabel fra din kode.

Simpelt eksempel som både opretter og sletter.

Imports System
Imports System.IO
Imports System.Data
Imports System.Data.SqlClient

Class MainClass

    Public Shared Sub Main(ByVal args As String())
        Dim con As SqlConnection = New SqlConnection ("server=ARNEPC2\ARNEPC2RUN;Integrated Security=SSPI;database=TestMSDE")
        con.Open
        Dim cre As SqlCommand = New SqlCommand ("CREATE TABLE imgtest (id INTEGER PRIMARY KEY,img IMAGE)", con)
        cre.ExecuteNonQuery
        Dim imgfile As Stream = New FileStream ("C:\blue.jpg", FileMode.Open)
        Dim siz As Integer = imgfile.Length
        Dim imgdata(siz-1) As Byte
        imgfile.Read(imgdata, 0, imgdata.Length)
        imgfile.Close
        Dim ins As SqlCommand = New SqlCommand ("INSERT INTO imgtest VALUES(@id,@img)", con)
        ins.Parameters.Add("@id", SqlDbType.Int)
        ins.Parameters.Add("@img", SqlDbType.Image)
        ins.Parameters("@id").Value = 1
        ins.Parameters("@img").Value = imgdata
        ins.ExecuteNonQuery
        Dim sel As SqlCommand = New SqlCommand ("SELECT img FROM imgtest WHERE id = @id", con)
        sel.Parameters.Add("@id", SqlDbType.Int)
        sel.Parameters("@id").Value = 1
        Dim imgdata2 As Byte() = CType(sel.ExecuteScalar, Byte())
        Dim drp As SqlCommand = New SqlCommand ("DROP TABLE imgtest", con)
        drp.ExecuteNonQuery
        Dim imgfile2 As Stream = New FileStream ("C:\blue2.jpg", FileMode.Create)
        imgfile2.Write(imgdata2, 0, imgdata2.Length)
        imgfile2.Close
        con.Close
    End Sub
End Class
Avatar billede arne_v Ekspert
12. januar 2005 - 07:32 #5
Ovenstående bruger selvfølgelig ikke data set.

Men du må kunne:
  - oprette tabel
  - oprette data adapter for tabel
  - fylde data set med alle rækker (ingen) fra data adapter
  - læse manuelt ind i data set
  - kalde update så adapteren skriver alle nye rækker (alle rækker) tilbage til databasen
Avatar billede flashit Nybegynder
15. januar 2005 - 22:14 #6
Mange Tak for hjælpen Arne :-)
Lægger du ikke lige et svar.....
Avatar billede arne_v Ekspert
15. januar 2005 - 22:38 #7
jo da
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester