Avatar billede basementjack Nybegynder
03. august 2004 - 18:07 Der er 18 kommentarer og
1 løsning

INSERT INTO problemer

Jeg har flg. asp.net kode :
    Sub btnMakeNew_Click(sender As Object, e As EventArgs)

        Dim str As String = "INSERT INTO bruger (nick, password, gruppeid) VALUES ('" & txtNick.Text & "','" & txtPassword.Text & "','" & txtgruppeid.Text & "')"
        'lblAllPurpose.Text = str
        changeData(str)
        Dim allPaths As String = txtbilledesti.text
        Dim arraySplitter As Array
        arraySplitter = allPaths.Split(",")
        Dim i As Integer
        For i = 0 to arraySplitter.Length - 1
            str = "INSERT INTO billeder (title, gruppeid, billedesti) VALUES ('" & txtTitle.Text & "','" & txtgruppeid.Text & "','" & arraySplitter(i) & "')"
            changeData(str)
        'lblAllPurpose.Text += "<br />" & str
        Next
        pnlOpret.Visible = False
        pnlAll.Visible = True
        lblAllPurpose.Text = "Din nye gruppe er oprettet."

    End Sub
----
Som giver flg. SQL:
INSERT INTO bruger (nick, password, gruppeid) VALUES ('user','test','4')
INSERT INTO billeder (gruppetitle, gruppeid, billedesti) VALUES ('user','4','sti')
----
Når jeg giver det til min access database, får jeg en fejlmelding der hedder:
Der er en syntaksfejl i INSERT INTO-sætningen.

Kan nogen se hvad der er i vejen med de to INSERT INTO sætninger?
(databasen er der, tablerne billeder og bruger er der og nick, password osv er der også.)
Avatar billede dsjk Novice
03. august 2004 - 18:12 #1
Prøv:

Dim str As String = "INSERT INTO bruger (nick, [password], gruppeid) VALUES ('" & txtNick.Text & "','" & txtPassword.Text & "','" & txtgruppeid.Text & "')"


Mener jeg havde samme problem engang, hvor [] løste det.

/dsjk
Avatar billede keysersoze Ekspert
03. august 2004 - 18:13 #2
hvilke felt-typer er de forskellige felter? Hvis gruppeid er et tal skal du nemlig fjerne enkeltpling (altså ') rundt omkring den variabel du sætter ind. fx

INSERT INTO bruger (nick, password, gruppeid) VALUES ('" & txtNick.Text & "','" & txtPassword.Text & "'," & txtgruppeid.Text & ")"
Avatar billede jensen363 Forsker
03. august 2004 - 18:16 #3
Korrekt syntax er :

INSERT INTO bruger ( nick, password, gruppeid )
SELECT 'user' AS nick, 'test' password, '4' AS gruppeid
Avatar billede jensen363 Forsker
03. august 2004 - 18:18 #4
[] omkring password, er også en god idé
03. august 2004 - 18:20 #5
Jeg tror, t Keysersoze har ret i, at gruppeid er nummerisk, hvorfor der IKKE skal '' omkring.

Prøv evt også at udskifte VALUES med SELECT
Avatar billede basementjack Nybegynder
03. august 2004 - 18:21 #6
Der er kommet [] omkring password'et, og enkeltpings er fjernet fra txtGruppeid.text som altid er et tal..
Men fejlen er der stadig..
Avatar billede basementjack Nybegynder
03. august 2004 - 18:24 #7
Jeg sidder med min SQL bog ved siden af mig, der står da at syntaksen for INSERT er:
INSERT INTO [tabel] (navn1, navn2) VALUES (værdi1, værdi2)..........
Og nu ser jeg at der mangler et ";"..
Checker lige om det var den der manglede..
Avatar billede basementjack Nybegynder
03. august 2004 - 18:26 #8
Nope.. Det var ikke det...
Disse to fejler også :
INSERT INTO bruger (nick, password, gruppeid) VALUES ('username',[test],4);
INSERT INTO billeder (gruppetitle, gruppeid, billedesti) VALUES ('groupname',4,'sti');
Avatar billede keysersoze Ekspert
03. august 2004 - 18:28 #9
som dsjk er inde på så er password vistnok et reserveret ord i access - så derfor prøv denne;

INSERT INTO bruger (nick, [password], gruppeid) VALUES ('username',[test],4);
Avatar billede basementjack Nybegynder
03. august 2004 - 18:31 #10
Ja selvfølgelig.. Satte den det forkerte sted..
Men fejler også ved:
INSERT INTO bruger (nick, [password], gruppeid) VALUES ('name',test,4);
INSERT INTO billeder (gruppetitle, gruppeid, billedesti) VALUES ('group',4,'sti');
Avatar billede basementjack Nybegynder
03. august 2004 - 18:32 #11
Også på :
INSERT INTO bruger (nick, [password], gruppeid) VALUES ('name',[test],4);
INSERT INTO billeder (gruppetitle, gruppeid, billedesti) VALUES ('group',4,'sti');
Avatar billede jensen363 Forsker
03. august 2004 - 18:36 #12
I Access virker dette :

INSERT INTO bruger ( nick, [password], gruppeid )
SELECT 'user' AS nick, 'test' password, 4 AS gruppeid
Avatar billede keysersoze Ekspert
03. august 2004 - 18:38 #13
prøv kun at køre én SQL ad gangen for på den måde at finde ud af om det er den ene eller den anden der fejler.

Hvilke felt-typer var de forskellige kolonner???

prøv evt

INSERT INTO bruger (nick, [password], gruppeid) VALUES ('name','test','4');
Avatar billede basementjack Nybegynder
03. august 2004 - 18:39 #14
alt er tekst, kun gruppeid er tal.. prøver igen..
Avatar billede keysersoze Ekspert
03. august 2004 - 18:42 #15
hvis gruppeid er et tal så skal dette virke;

INSERT INTO bruger (nick, [password], gruppeid) VALUES ('name','test',4);
Avatar billede basementjack Nybegynder
03. august 2004 - 18:42 #16
Virker:
INSERT INTO bruger (nick, [password], gruppeid) VALUES ('Jakob','test',4);
Avatar billede keysersoze Ekspert
03. august 2004 - 18:44 #17
den næste skulle så meget gerne se sådan ud;

INSERT INTO billeder (gruppetitle, gruppeid, billedesti) VALUES ('user',4,'sti')
Avatar billede basementjack Nybegynder
03. august 2004 - 18:46 #18
Og det var åbenbart kun den med password den ikke kunne li.. Så nu virker det...
Smid et svar keysersoze
Avatar billede keysersoze Ekspert
03. august 2004 - 18:51 #19
svar
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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