Avatar billede dehaas Nybegynder
04. juni 2005 - 14:12 Der er 11 kommentarer og
1 løsning

oleDB - Opret Tabel

Hej,

Hvordan oretter man en ny Tabel i sin database?
Avatar billede arne_v Ekspert
04. juni 2005 - 14:21 #1
OleDbCommand og en CREATE TABLE statement formoder jeg
Avatar billede dehaas Nybegynder
04. juni 2005 - 14:37 #2
Er ikke så meget inde i database-programering. Kan jeg få dig til at skrive hele kommandoen?
Avatar billede arne_v Ekspert
04. juni 2005 - 14:48 #3
et eksempel som jeg haved på lager:

Imports System
Imports System.IO
Imports System.Data
Imports System.Data.OleDb

Class MainClass

    Public Shared Sub Main(ByVal args As String())
        Dim con As OleDbConnection = New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Database\MSAccess\Test.mdb;User Id=admin;Password=")
        con.Open
        Dim cre As OleDbCommand = New OleDbCommand ("CREATE TABLE imgtest (id INTEGER PRIMARY KEY,img OLEObject)", 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 OleDbCommand = New OleDbCommand ("INSERT INTO imgtest VALUES(@id,@img)", con)
        ins.Parameters.Add("@id", OleDbType.Integer)
        ins.Parameters.Add("@img", OleDbType.VarBinary)
        ins.Parameters("@id").Value = 1
        ins.Parameters("@img").Value = imgdata
        ins.ExecuteNonQuery
        Dim sel As OleDbCommand = New OleDbCommand ("SELECT img FROM imgtest WHERE id = @id", con)
        sel.Parameters.Add("@id", OleDbType.Integer)
        sel.Parameters("@id").Value = 1
        Dim imgdata2 As Byte() = CType(sel.ExecuteScalar, Byte())
        Dim drp As OleDbCommand = New OleDbCommand ("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 dehaas Nybegynder
04. juni 2005 - 15:24 #4
Hvis jeg skriver sådan her, kommer den ikke med fejl. Men den opretter heller ikke en ny tabel

Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\My Documents\Visual Studio Projects\Software Serial Archive 2\bin\Data.mdb;User Id=admin;Password=")
con.Open()
Dim cre As OleDbCommand = New OleDbCommand("CREATE TABLE McAfee (id INTEGER,img OLEObject)", con)
con.close()
Avatar billede arne_v Ekspert
04. juni 2005 - 15:31 #5
du mangler


Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\My Documents\Visual Studio Projects\Software Serial Archive 2\bin\Data.mdb;User Id=admin;Password=")
con.Open()
Dim cre As OleDbCommand = New OleDbCommand("CREATE TABLE McAfee (id INTEGER,img OLEObject)", con)
cre.ExecuteNonQuery  ' <----------------------------------
con.close()
Avatar billede dehaas Nybegynder
04. juni 2005 - 17:05 #6
wee, det virker. Hvordan gør jeg så hvis jeg vil have flere kolonner? Lige nu kommer der jo kun en "img" ( integer ), hvad nu hvis jeg så også vil have en "navn" ( tekst ) ?
Avatar billede dehaas Nybegynder
04. juni 2005 - 17:10 #7
også lige et andet spørgsmål, hvad vil jeg ikke vil tabelnavnet til at være en kostant, men en variabel?
Avatar billede dehaas Nybegynder
04. juni 2005 - 19:51 #8
Har fundet ud af at ligge flere kolonner ind, men akn stadig ikke finde ud af hvordna jeg skal bruge variaberl istedet for konstanter..
Avatar billede arne_v Ekspert
05. juni 2005 - 14:58 #9
Dim cre As OleDbCommand = New OleDbCommand("CREATE TABLE " & tabelnavn & " (id INTEGER,img OLEObject)", con)
Avatar billede arne_v Ekspert
05. juni 2005 - 14:58 #10
tekst : brug f.eks. VARCHAR(50)
Avatar billede arne_v Ekspert
05. juni 2005 - 14:59 #11
og et svar
Avatar billede dehaas Nybegynder
05. juni 2005 - 17:55 #12
okay, mange tak for hjælpen.
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