Imports System Imports System.Threading 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") con.Open Dim cre As OleDbCommand = New OleDbCommand("CREATE TABLE dtest (i INTEGER PRIMARY KEY, d DATETIME)", con) cre.ExecuteNonQuery Dim ins As OleDbCommand = New OleDbCommand("INSERT INTO dtest VALUES (?, ?)", con) ins.Parameters.Add("@i", OleDbType.Integer) ins.Parameters.Add("@d", OleDbType.Date) Dim i As Integer For i = 0 To 9 ins.Parameters("@i").Value = i ins.Parameters("@d").Value = DateTime.Now ins.ExecuteNonQuery Thread.Sleep(1000) Next Console.WriteLine("All rows :") Dim sel As OleDbCommand = New OleDbCommand("SELECT * FROM dtest", con) Dim rdr As OleDbDataReader = sel.ExecuteReader While rdr.Read Dim iv As Integer = CType(rdr(0), Integer) Dim dv As DateTime = CType(rdr(1), DateTime) Console.WriteLine(iv & " " & dv) End While rdr.Close Console.WriteLine("Rows last 5 seconds since " + DateTime.Now + " :") Dim sel2 As OleDbCommand = New OleDbCommand("SELECT * FROM dtest WHERE d > ?", con) sel2.Parameters.Add("@d", OleDbType.Date) sel2.Parameters("@d").Value = DateTime.Now.AddSeconds(-5) Dim rdr2 As OleDbDataReader = sel2.ExecuteReader While rdr2.Read Dim iv As Integer = CType(rdr2(0), Integer) Dim dv As DateTime = CType(rdr2(1), DateTime) Console.WriteLine(iv & " " & dv) End While rdr2.Close Dim drp As OleDbCommand = New OleDbCommand("DROP TABLE dtest", con) drp.ExecuteNonQuery con.Close End Sub End Class
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
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 cmd As OleDbCommand = New OleDbCommand ("SELECT * FROM T1", con) Dim rdr As OleDbDataReader = 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
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 ' lave noget med databasen con.Close
opretter, åbner og lukker forbindelsen til databasen
[og du skal tilrette DBQ, UserId og Password til din database]
jeg tror at du skal ignorere mine 2 første kode eksempler (de lange) fordi de bruger parameters - det er smart, men vent med det til du har lidt styr på det
du skal skelne mellem ting som opdaterer databasen og ting som kun henter fra databasen
en opdatering sker som:
Dim cmd As OleDbCommand = New OleDbCommand ("INSERT INTO t1 VALUES(1,'ABC')", con) cmd.ExecuteNonQuery
hente data kan gøres som:
Dim cmd As OleDbCommand = New OleDbCommand ("SELECT * FROM t1", con) Dim rdr As OleDbDataReader = cmd.ExecuteReader While rdr.Read Dim f1 As Integer = CType(rdr(0), Integer) Dim f2 As String = CType(rdr(1), String) ' brug f1 og f2 End While rdr.Close
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.