Avatar billede emort Nybegynder
07. september 2006 - 09:45 Der er 14 kommentarer

Sql sætning nu er jeg blind.

Hej eksperter nu jeg er sku gået hen og blevet blind..;:
jeg har 2 Sql kald hvis jeg "msgboxer" dem ud, ser alle tags rigtige ud. MEN jeg får aligevel en "syntax error i UPDATE statement" hvergang den køres.... hvad har jeg overset..?


strSQL = "UPDATE Computerinfo SET ComputerName = '" & ComputerName & "', Model = '" & strModel & "', Vendor = '" & strVendor & "', Serial = '" & strSerial & "', Version = '" & strVersion & "', CPU0 = '" & strCPU0 & "', CPU1 = '" & strCPU1 &"', CPU2 = '" & strCPU2 &"', CPU3 = '" & strCPU3 & "', Speed0 = '" & StrSpeed0 & "', Speed1 = '" & StrSpeed1 & "', Speed2 = '" & StrSpeed2 & "', Speed3 = '" & StrSpeed3 & "', MonitorManufacturer = '" & strMonManufacturer & "', MonitorModel = '" & strMonModel & "', VideoRAM = '" & strVidRAM & "', VideoCard = '" & strVidCard & "', VideoMode = '" & strVidMode & "', VidName = '" & strVidName & "', OS = '" & strOS & "', SP = '" & strSP & "', Asset = '" & strAsset & "', CDrive = '" & strCDriveLetter & "', CFreeSpace = '" & strCFreeSpace & "', DTotalSpace = '" & strDTotalSpace & "', RAM = '" & intRAM & "', User = '" & strUser & "', Date = '" & Date() & "', Time = '" & Time() & "' Where Id = " & StrId

strSQL1 ="UPDATE Computerinfo SET ComputerName = '" & "', NetworkCard0 = '" & strNICModel0 & "', NetworkCard1 = '" & strNICModel1 & "', NetworkCard2 = '" & strNICModel2 & "', IPAddress0 = '" & strIPAddress0 & "', IPAddress1 = '" & strIPAddress1 & "', IPAddress2 = '" & strIPAddress2 & "', MAC0 = '" & strMAC0 & "', MAC1 = '" & strMAC1 & "', MAC2 = '" & strMAC2 & "' Where Id = " & StrId

/Emort
Avatar billede Spotgun Seniormester
07. september 2006 - 11:13 #1
Mangler du ikke et ComputerName i den sidste?

strSQL1 ="UPDATE Computerinfo SET ComputerName = '" & "', NetworkCard0...

skal vel være

strSQL1 ="UPDATE Computerinfo SET ComputerName = '" & ComputerName & "', NetworkCard0...
Avatar billede Spotgun Seniormester
07. september 2006 - 11:16 #2
Og jeg kan sgu ikke helt huske syntaksen, men der måske en fejl at Date() og Time() sættes ind imellem to '. Det kan være # eller ingenting i stedet. Det afhænger nok af hvilken database du bruger...
Avatar billede emort Nybegynder
07. september 2006 - 11:18 #3
^^ det er rigtig nok der er en fel der ^^ det er mig der har dummet mig med en C/p :-D

Her er de rigtige:

strSQL = "UPDATE Computerinfo SET ComputerName = '" & ComputerName & "', Model = '" & strModel & "', Vendor = '" & strVendor & "', Serial = '" & strSerial & "', Version = '" & strVersion & "', CPU0 = '" & strCPU0 & "', CPU1 = '" & strCPU1 &"', CPU2 = '" & strCPU2 &"', CPU3 = '" & strCPU3 & "', Speed0 = '" & StrSpeed0 & "', Speed1 = '" & StrSpeed1 & "', Speed2 = '" & StrSpeed2 & "', Speed3 = '" & StrSpeed3 & "', MonitorManufacturer = '" & strMonManufacturer & "', MonitorModel = '" & strMonModel & "', VideoRAM = '" & strVidRAM & "', VideoCard = '" & strVidCard & "', VideoMode = '" & strVidMode & "', VidName = '" & strVidName & "', OS = '" & strOS & "', SP = '" & strSP & "', Asset = '" & strAsset & "', CDrive = '" & strCDriveLetter & "', CFreeSpace = '" & strCFreeSpace & "', DTotalSpace = '" & strDTotalSpace & "', RAM = '" & intRAM & "', User = '" & strUser & "', Date = '" & Date() & "', Time = '" & Time() & "' Where Id = " & StrId

strSQL1    ="UPDATE Computerinfo SET NetworkCard0 = '" & strNICModel0 & "', NetworkCard1 = '" & strNICModel1 & "', NetworkCard2 = '" & strNICModel2 & "', IPAddress0 = '" & strIPAddress0 & "', IPAddress1 = '" & strIPAddress1 & "', IPAddress2 = '" & strIPAddress2 & "', MAC0 = '" & strMAC0 & "', MAC1 = '" & strMAC1 & "', MAC2 = '" & strMAC2 & "' Where Id = " & StrId
Avatar billede emort Nybegynder
07. september 2006 - 11:40 #4
har prøvet at Side
StrTid = Time()
Strdag = date()

men det nytter heller ikke samme fejl
Avatar billede michael_stim Ekspert
07. september 2006 - 11:43 #5
Prøv at skrive stringen ud istedet for at eksekvere den. Det er mange gange lettere at overskue, og så kan du også se om du får alle variabler med.
Avatar billede emort Nybegynder
07. september 2006 - 12:16 #6
Udskrevet string:


UPDATE Computerinfo SET ComputerName = 'Xxxxxx', Model = 'D845PESV', Vendor = 'INTEL_', Serial = '                              ', Version = 'INTEL  - 20030425', CPU0 = '              Intel(R) Pentium(R) 4 CPU 2.40GHz', CPU1 = 'NO strCPU1', CPU2 = 'NO strCPU2', CPU3 = 'NO strCPU3', Speed0 = '2400', Speed1 = 'NO StrSpeed1', Speed2 = 'NO StrSpeed2', Speed3 = 'NO StrSpeed3', MonitorManufacturer = '(Standard monitor types)', MonitorModel = 'Default Monitor', VideoRAM = '32768', VideoCard = 'Matrox Millennium G550 - English', VideoMode = '1600 x 1200 x 4294967296 colors', VidName = 'Matrox Millennium G550 - English', OS = 'Microsoft Windows XP Professional', SP = 'Service Pack 2', Asset = '                              ', CDrive = 'C:', CFreeSpace = '0,656230926513672', DTotalSpace = '22,6211280822754', RAM = '1279', User = 'xxxxxxx\xxxxxxx', Date = '07-09-2006', Time = '12:12:24' Where Id = 35

UPDATE Computerinfo SET NetworkCard0 = 'Intel(R) PRO/100 S Desktop Adapter', NetworkCard1 = 'Intel(R) PRO/100 S Desktop Adapter', NetworkCard2 = 'VMware Virtual Ethernet Adapter for VMnet1', IPAddress0 = 'xxx.xxx.x.xxx', IPAddress1 = 'xxx.xx.x.xxx', IPAddress2 = 'xxx.xxx.xx.x', MAC0 = 'xx:xx:xx:xx:xx:xx', MAC1 = 'xx:xx:xx:xx:xx:xx', MAC2 = 'xx:xx:xx:xx:xx:xx' Where Id = 35
Avatar billede michael_stim Ekspert
07. september 2006 - 12:24 #7
Serial er tom. Må den være det? Er det rigtigt dato-format? Er VideoRAM en character?
Avatar billede michael_stim Ekspert
07. september 2006 - 12:25 #8
Og er alle felter lange nok?
Avatar billede emort Nybegynder
07. september 2006 - 13:30 #9
VideoRAM = Langt heltal
Dato = kort datoformat (dvs. xx-xx-xxxx)
time = langt klokkesletformat (dvs. xx:xx:xx)
De resterende er ALLE:

Feltstørelse = 255
Ingen oblikatoriske
TilladNullængde.. =ja
Avatar billede michael_stim Ekspert
07. september 2006 - 13:52 #10
Så prøv at fjerne '' på VideoRAM
Avatar billede emort Nybegynder
07. september 2006 - 14:49 #11
Samme Resultat...
Har yderliger fjernet alle de "tomme" også samme resultat
Avatar billede plx Nybegynder
07. september 2006 - 14:54 #12
Kig efter reserverede navne. Dit Date felt ligner en kandidat

Hvis det er Access, skal der # rundt om datoen, i stedet for '
Avatar billede emort Nybegynder
08. september 2006 - 10:44 #13
Fejlen ligger i user pt...

Der bliver lavet et indput efter syntaksen Domain\User  her halter den?
i tabelen er den angivet som:
Type = Tekst
Feltstørelse = 255
Ingen oblikatoriske
TilladNullængde = ja

så hvorfor kan den ikke komme ind med værdien?
Avatar billede emort Nybegynder
11. september 2006 - 15:18 #14
Nå løsningen var :

ret alle

User
date
Time
de kunne ikke bruges i sql kaldet...
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