webForumDet fria alternativet

Insert

10 svar · 192 visningar · startad av aleborg

aleborgMedlem sedan jan. 20013 341 inlägg
#1

Om jag vill lägga till poster i två olika tabeller från en form, hur ska då Insert satsen se ut?

Insert Into Tabell1(Request.Form("Tabelltext"), Request.Form("Tabelltext2")), Tabell2(Request.Form("Tabell2text"), Request.Form("Tabell2text2"))

?

Och om jag vill vara säker på att man inte fyller i " i fälten, hur ska det då se ut?

strTabelltext = Replace (Request.Form("Tabelltext"), "'", "''")
strTabelltext2 = Replace (Request.Form("Tabelltext2"), "'", "''")
strTabell2text = Replace (Request.Form("Tabell2text"), "'", "''")
strTabell2text2 = Replace (Request.Form("Tabell2text2"), "'", "''")
Insert Into Tabell1('" & strTabelltext & "', '" & strTabelltext2 & "'), Tabell2 ('" & strTabell2text & "', '" & strTabell2text2 & "')

?

Är jag ute och cyklar?

@ndersMedlem sedan juni 200032 969 inlägg
#2

för att göra insert till två tabeller måste du ställa två insert-frågor.

syntaxen för insert är som följer:

insert into [tabell] ([fält1],[fält2]) values ([värde1],[värde2])

vad har din kod med citationstecken att göra, och varför vill du bort med citationstecknen?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

LarsGMedlem sedan dec. 200012 464 inlägg
#3

Du får göra två stycken insert-statement. En del DBMS tillåter att man gör execute på flera statements i ett anrop om dom är avgränsade med ett semikolon

  sqlStr = "insert into tabell1 values('A','B');insert into tabell2 values('C','D')"
  connect.Execute sqlStr

Om det inte går får man göra det som olika statements med två execute-anrop.

------------------
essentitia preter non sans multiplicandum

aleborgMedlem sedan jan. 20013 341 inlägg
#4

Om man fyller i " i ett fält så kan det ju bli lite fel när koden ska visas!?

Har använt Update hittils för att lägga till post, ska man fortsätta med det eller ska man använda Insert?

En fråga till, I access2000 finns möjlighet att använda "Unicode", vad är det för?

@ndersMedlem sedan juni 200032 969 inlägg
#5

update uppdaterar befintlig post, insert lägger till ny post. icke att jämföra, och icke heller att blanda ihop med recordsetobjektets metoder för att lägga till och ändra poster.

använd sql-frågor för att lägga till och ändra data, alltså update- och insert-satser.

såvitt jag förstått så är unicode en teckentabell :q

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

aleborgMedlem sedan jan. 20013 341 inlägg
#6

Jag förmodar att det går rätt bra att använda:

<%
dim Conn
dim strTabellmeny, strTabelltext, strTabell1, strTabell2, strTabell3, strTabell4, strTabell5
strTabellmeny = Replace (Request.Form("Tabellmeny"), "'", "''")
strTabelltext = Replace (Request.Form("Tabelltext"), "'", "''")
strTabell1 = Replace (Request.Form("Tabell1"), "'", "''")
strTabell2 = Replace (Request.Form("Tabell2"), "'", "''")
strTabell3 = Replace (Request.Form("Tabell3"), "'", "''")
strTabell4 = Replace (Request.Form("Tabell4"), "'", "''")
strTabell5 = Replace (Request.Form("Tabell5"), "'", "''")
Conn.Execute("UPDATE Sidor, Tabsid SET [Tabellmeny] = '" & strTabellmeny & "', [Tabelltext] = '" & strTabelltext & "',  [Tabell1] = '" & strTabell1 & "', [Tabell2] = '" & strTabell2 & "', [Tabell3] = '" & strTabell3 & "', [Tabell4] = '" & strTabell4 & "', [Tabell5] = '" & strTabell5 & "'")
%>

eller finns det nått enklare sätt att göra det på?

emissionMedlem sedan dec. 19996 721 inlägg
#7

En UPDATE kan bara uppdatera en tabell åt gången.

Ja, Unicode är en teckentabell, där varje tecken representeras av två byte (16 bitar) i stället för en byte (8 bitar), som det är i ASCII. Alltså får man tillgång till 65536 tecken, i stället för 256. Man kan få med kinesiska tecken, japanska tecken etc.

aleborgMedlem sedan jan. 20013 341 inlägg
#8

Som sagt så var det bara en update, men om jag vill lägga till hur ska det här se ut?

<%
dim Conn
dim strTabellmeny, strTabelltext, strTabell1, strTabell2, strTabell3, strTabell4, strTabell5
strTabell1 = Replace (Request.Form("Tabell1"), "'", "''")
strTabell2 = Replace (Request.Form("Tabell2"), "'", "''")
strTabell3 = Replace (Request.Form("Tabell3"), "'", "''")
strTabell4 = Replace (Request.Form("Tabell4"), "'", "''")
strTabell5 = Replace (Request.Form("Tabell5"), "'", "''")
sqlStr = "INSERT INTO Tabsid ([Tabell1],[Tabell2],[Tabell3],[Tabell4],[Tabell5]) VALUES (['" & strTabell1 & "'],['" & strTabell2 & "'],['" & strTabell3 & "'],['" & strTabell4 & "'],['" & strTabell5 & "'])"
conn.Execute sqlStr
%>

Trodde att det skulle funka, men tji fick jag :(

[Redigerat av aleborg den 26 feb 2001]

LarsGMedlem sedan dec. 200012 464 inlägg
#9
sqlStr = "INSERT INTO Tabsid ([Tabell1],[Tabell2],[Tabell3],[Tabell4],[Tabell5]) VALUES ('" & strTabell1 & "','" & strTabell2 & "','" & strTabell3 & "','" & strTabell4 & "','" & strTabell5 & "')"

[] används bara när man anger namn inte när man anger värden. Dom behövs bara om namnet är ett reserverat ord i SQL eller om det innehåller specialtecken

------------------
essentitia preter non sans multiplicandum

@ndersMedlem sedan juni 200032 969 inlägg
#10

[] används bara när man anger namn inte när man anger värden.

jepp. mitt fel, sorry, blev lite mycket katten pejst där. skäms... :r

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

aleborgMedlem sedan jan. 20013 341 inlägg
#11

Tack killar nu fattar jag! Har fått det att funka och fattar poängen :)

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)