Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Vill lägga till poster i en databas men den vägrar...

Postades av 2002-10-31 10:01:57 - Niclas Munkenberg, i forum databaser, Tråden har 5 Kommentarer och lästs av 618 personer

Jag är rätt grön på ADO så har en enkel(tror jag) fråga, Jag vill lägga till poster, i en tabell, men Jag får ett felmeddelandet. det är iof möjligt att Hela koden ä fuxxor... hur skall jag göra helt enkelt...

FELMEDDELANDE:

"Rowset does not support fetching backward."

KOD:

Private Sub Command3_Click()
Dim Connection1 As New ADODB.Connection
Dim DataBase1 As New ADODB.Recordset
Dim ConnectionString As String

ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=D:\Visual basic Programs\Database Test 2\Testbase1.mdb;" & _
"DefaultDir=C:\;" & _
"Uid=Admin;Pwd=;"

Connection1.Open ConnectionString

ConnectionString = "SELECT * FROM tabell1"
Set DataBase1 = Connection1.Execute(ConnectionString)

DataBase1.MoveLast
DataBase1.AddNew

DataBase1.Close
Connection1.Close

End Sub


Svara

Sv: Vill lägga till poster i en databas men den vägrar...

Postades av 2002-10-31 10:26:07 - Johan Idstam

Testa att ta bort .MoveLast


/johan/


Svara

Sv: Vill lägga till poster i en databas men den vägrar...

Postades av 2002-10-31 10:40:53 - Andreas Hillqvist

Du kan inte använda Execute metoden i detta fallet. Efterson den skapar ett recordset som är ForwardOnly och Readonly.

Använd istället Open metoden:
<code>
Private Sub Command3_Click()
Dim Conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim ConnectionString As String


ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source= D:\Visual basic Programs\Database Test 2\Testbase1.mdb;"

Set Conn = New ADODB.Connection
Conn.Open ConnectionString

Set rs = New ADODB.Recordset
rs.Open "SELECT * FROM tabell1", Conn, adOpenKeyset, adLockOptimistic

rs.AddNew
'rs("Fältnamn") = "Ditt värde"
rs.Update

rs.Close
Conn.Close

End Sub
</code>


Svara

Sv: Vill lägga till poster i en databas men den vägrar...

Postades av 2002-10-31 11:17:12 - Niclas Munkenberg

Wow, det hjälpte en hel del det. Tack

vill gärna ställa nåra följd frågor, om det går bra.

Det är ju en del skilnader i din kod gentemot min i övrigt oxo. det verkar som dom flesta exempel följer din typ av kod, kan du snabbt förklara fördelarna/skillnaderna med:

1)
"Provider=Microsoft.Jet.OLEDB.4.0;" vs "Driver={Microsoft Access Driver (*.mdb)};"

2)
"Data Source= D:\Visual basic Programs\Database Test 2\Testbase1.mdb;" vs "Dbq=D:\Visual basic Programs\Database Test 2\Testbase1.mdb;"

3) SET vs OPEN. (hämntar bara SET data, medans OPEN skapar en kopling till databasen...eller ?) är det ena elelr andra mer kapacitets krävande (minne/process).

4) att deklarera ADODB kopplingen och recordsetet som "new" direkt (som jag gjort) och att göra det senare (som du). (verkar ha nåt med SET vs OPEN att göra...

I vilket fall som helst verkar det mest funka bättre på ditt vis :)
Tack igen


Svara

Sv: Vill lägga till poster i en databas men den vägrar...

Postades av 2002-10-31 11:23:10 - Niclas Munkenberg

hmm, lite strul ble det...

EXECUTE vs OPEN måste det nog vara :/

5)
vad innebär "adOpenKeyset, adLockOptimistic", dom verkar ju vara null värderade...


Svara

Sv: Vill lägga till poster i en databas men den vägrar...

Postades av 2002-10-31 13:02:02 - Andreas Hillqvist

1, 2 - Connection strängen:
ADO är gränssnittet för att kommunicera med OLEDB Providerns som läser och skriver till databasen. Jag använder mig av OLEDB providern för Jet vilket arbetar direkt mot accessfilen. Du använder dig av ODBC drivrutinen vilket innebär att ADO måste arbeta mot en OLEDB drivrutin för ODBC som arbetar mot din databas.

3, 5 - Skapa och öppna ett recordset:
Execut metoden skapar en ny instans av ett recordset och öppnar den med angiven källa. Du kan inte ange vilken typ av cursoer eller någon ytterligare egenskap.
Det är därför en fördel att själv skapa en instans. Du kan ange vilken cursor den ska ha. adOpenKeyset är en updaterbar cursor som är resursnålar än adOpenDynamic.
Du kan dessutom återanvända en instans av ett recordset genom att stänga det och öppna det med en annan radkälla.
adOpenKeyset är en konstant som är deklarerade i ADODB biblioteket. Den har värdet 1. adLockOptimistic är likaså en konstant med värdet 3.
Vilket anger att den skall bara låsa posten först när recorsdsetet anropar Update-metoden.

4 - Instanisera objekt:
I VB 5 & 6 innebär att deklarera en variabels som new. Att den instansieras om den är nothing och man anropar den. Deta får till konsekvensa att en kontroll måste göras för varje anrop. Vilket gör det lite långsamare att anropa objektets medlemmar.Det är inte så nämnvärt. Men det är då bätre att instansiera det för egenhand. Eftersom man då får mer kontroll.

Detta betende har dock ändrats under VB.NET då en ny instans tilldelas till objektet när den har deklarerats. Och kontrollen har tagits bort.


Svara

Nyligen

  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 889
27 965
271 778
559
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies