webForumDet fria alternativet
Logga in / Bli medlem

Insert

ASP

10 svar · 192 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Trådstart#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?

Medlem sedan juni 200032 967 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?

Medlem 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.

Medlem 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?

Medlem sedan juni 200032 967 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

Medlem 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å?

Medlem 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.

Medlem 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]

Medlem 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

Medlem sedan juni 200032 967 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

Medlem sedan jan. 20013 341 inlägg
#11

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

383 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
128 ms — deklarationer (db)
118 ms — hämta statistik (db)
133 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)