Avatar billede deamill Nybegynder
22. maj 2007 - 19:09 Der er 12 kommentarer og
1 løsning

Opret ny record med ADODB.Recordset

Hejsa,

Jeg har lidt problemer med ADODB.Recordset

Hvordan opretter jeg en ny record i min database?

Jeg har ikke noget problem med at opdatere en eksisterende men addnew() driller mig lidt.

Dette er min dekleration:
temp_dbonRS = New ADODB.Recordset

Så må det være noget i den stil her:
temp_dbonRS.AddNew()

Nogen som har et lille kode eksempel?

På forhånd tak!
Avatar billede arne_v Ekspert
22. maj 2007 - 19:16 #1
Hvorfor bruger du ADO og ikke ADO.NET i VB.NET ?
Avatar billede deamill Nybegynder
23. maj 2007 - 08:03 #2
Tja, fordi jeg i sin tid fandt et eksempel med ADO.

Hvad er forskellen, er der meget forskel på koden?
Avatar billede arne_v Ekspert
24. maj 2007 - 01:08 #3
der er nogen forskel

jeg vil anbefale ADO.NET

hvilken database bruger du ?

(så kan jeg godt give dig lidt eksempel kode)
Avatar billede deamill Nybegynder
24. maj 2007 - 07:42 #4
Hej, jeg bruger en MS SQL 2000 database.
Avatar billede arne_v Ekspert
24. maj 2007 - 15:49 #5
Imports System
Imports System.Data.SqlClient

Class MainClass
    Public Shared Sub Main(ByVal args As String())
        Dim con As SqlConnection = New SqlConnection ("server=ARNEPC2;Integrated Security=SSPI;database=Test")
        con.Open
        Dim cmd As SqlCommand = New SqlCommand ("SELECT * FROM T1", con)
        Dim rdr As SqlDataReader = cmd.ExecuteReader
        While rdr.Read
            Dim f1 As Integer = CType(rdr(0), Integer)
            Dim f2 As String = CType(rdr(1), String)
            Console.WriteLine(f1 & " " & f2)
        End While
        con.Close
    End Sub
End Class
Avatar billede arne_v Ekspert
24. maj 2007 - 15:54 #6
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
24. maj 2007 - 15:59 #7
det var 2 tilfaeldige blandede stykker kode

men det skulle gerne vise lidt

og du kan slaa klasserne op i .NET dokumentationen og se alle muligheder
Avatar billede deamill Nybegynder
25. maj 2007 - 08:15 #8
Kanon, jeg kigger på det så snart jeg kommer hjem :)

Jeg vil bare lige høre hvor i connection stringen du fortæller det er en MSSQL server?

Jeg kan se du bruger disse to:
("server=ARNEPC2\ARNEPC2RUN;Integrated Security=SSPI;database=TestMSDE"
og
("server=ARNEPC2;Integrated Security=SSPI;database=Test")
Avatar billede arne_v Ekspert
25. maj 2007 - 14:06 #9
det er implicit udfra brugen af klassen SqlConnection
Avatar billede deamill Nybegynder
05. juni 2007 - 07:31 #10
Hejsa,

Nu har jeg siddet og kigget lidt på det, og det ser en smule anderledes ud ind det jeg plejer.

Har du mulighed for at lave et lille eksempel som viser:
1 - Hvordan man indsætter en record i en tabel.
2 - Hvordan man redigerer i en eksisterende record.
3 - Hvordan man sletter en eksisterende record.

Det skal bare være en simpel tabel med f.eks. 2 felter!?

Så ville jeg blive glad :)
Avatar billede arne_v Ekspert
06. juni 2007 - 04:25 #11
Du bruger bare INSERT, UPDATE og DELETE sætninger.

De udføres alle på samme måde som INSERT oppe i eksemplet.

Alternativt skal du over i noget DataSet.
Avatar billede arne_v Ekspert
21. juli 2007 - 16:02 #12
OK ?
Avatar billede arne_v Ekspert
28. oktober 2007 - 02:00 #13
??
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