Avatar billede jclarsen Nybegynder
07. februar 2005 - 23:13 Der er 5 kommentarer og
1 løsning

Problemer med at tilføje data til en "column"

Jeg oprette variabelen navn varchar(20).

Når jeg indsætter data, kan jeg veed første indsættelse indsætte en streng et op til 20 tegn som variablen er defineret til. Men hvas jeg f.eks. kun oprette en på 10 som første streng, kan ingen af de efterfølgende strenge være på mere end 10 tegn.

Dette forstår jeg ikke helt. Håber at nogen kan hjælpe mig med det.

På fårhånd tak....
Avatar billede arne_v Ekspert
07. februar 2005 - 23:16 #1
Må vi se lidt kode ?
Avatar billede jclarsen Nybegynder
07. februar 2005 - 23:23 #2
tja....

jeg anvender MyODBC 3.51-9 til oprette af kontakt til mysql. Jeg programmre i Visual Basic 6.0

- Her er mit databasemodul hvor jeg opretter tabellen

Private Sub OpretTabeller()
'create table Users
Database.Execute "Create Table If Not Exists Users(id int not null AUTO_INCREMENT primary key, user varchar(20), password varchar(16), administrator char(1))"
end sub

- åbning af databasen

    Database.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
                          & "SERVER=localhost;" _
                          & "DATABASE=SportOffice;" _
                          & "UID=root;PWD=jamosat"
    Database.Open
   
    Set Record = New ADODB.Recordset
    Record.CursorLocation = adUseClient

    'Opens the Record
    Record.Open "select * from " & RecordString & " order by Efternavn", Database, adOpenDynamic, adLockOptimistic

- Oprettelse at ny

'Insert new record
  Record.AddNew

- Gem af data

  Record.Fields(ReqRecord).Value = Data
  Record.Update
Avatar billede jclarsen Nybegynder
07. februar 2005 - 23:27 #3
Forresten min fejlmeddelse er som følger

run-time error '-2147217887 (80040e21)':
Mutiple-step operation generated errors. Check each status value
Avatar billede eagleeye Praktikant
07. februar 2005 - 23:37 #4
Det er en fejl som er i driveren og brug af recordsetet .AddNew funktion. Fejlen gør at recordsetet tror max længden for kolonnen er længden på den længste streng i tabllen som er på 10 karakter og ikke den angivne max længde, 20 karakter. Det kan løses vad at lave en insert into SQL sætning istedet for .AddNew metoden:

Database.Execute "insert into " & RecordString & " (" & ReqRecord & ") values ('" & Data & "')"
Avatar billede jclarsen Nybegynder
08. februar 2005 - 00:20 #5
det gav da en løsning på det problem...men det åbnede bare nogle andre....men det er jo hvad der sker når der er fejl i driverne....:-D

Tak for hjælpen
Avatar billede eagleeye Praktikant
08. februar 2005 - 17:35 #6
Her er et svar så ;)
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
Computerworld tilbyder specialiserede kurser i database-management

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