Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Skapa tabeller "dynamiskt"

Postades av 2002-01-17 16:12:30 - Bobo Svensson, i forum asp - allmänt, Tråden har 3 Kommentarer och lästs av 458 personer

Följande scenario finnes:

al1=request("al1")
al2=request("al2")
al3=request("al3")

skall skivas in i DB (Access) i tabellen:

sql="insert into svar (al1,al2,al3) values ('"& al1 &"' , '"& al2 &"' , '"& al3 &"');"

Det visar sig att tabellen svar saknar fällten al2 och al3 hur kan man via en asp-sida känna av detta och därefter skapa de 2 fällten och sedan skriva in all data till db ?

Någonting med
IF NOT EXIST kanske ??????

Bobo


Svara

Sv: Skapa tabeller "dynamiskt"

Postades av 2002-01-17 16:52:20 - Andreas Hillqvist

Lagra det i en fast tabell. På ett dynamiskt sätt. ;O)

Tabell: Svar
Fält: RadID
Fält: Namn
Fält: Värde


<code>

Dim con
Dim rsTemp
Dim RadID

Set con = Server.CreateObject("ADODB.Connection")
con.Open "<<<Din Connectionstring>>>"

rsTemp = con.Execute(SELECT MAX(RadID) As LastRadID FROM svar")
If rsTemp.Eof Then
RadID = 1
ElseIf IsNull(rsTemp("LastRadID")) Then
RadID = 1
Else
RadID = rsTemp("LastRadID") + 1
End If

RadID = rsTemp("LastRadID")
rsTemp.Close
Set rsTemp = Nothing



sql = "INSERT INTO svar (RadID, Namn, Värde) VALUES ("& RadID &" , 'al1' , '"& al1 &"');"
con.Execute sql

sql = "INSERT INTO svar (RadID, Namn, Värde) VALUES ("& RadID &" , 'al2' , '"& al2 &"');"
con.Execute sql

sql = "INSERT INTO svar (RadID, Namn, Värde) VALUES ("& RadID &" , 'al3' , '"& al3 &"');"
con.Execute sql

con.Close
Set con = Nothing
</code>


Svara

Sv: Skapa tabeller "dynamiskt"

Postades av 2002-01-17 18:35:23 - Thomas Vanhaniemi

Jag har en funktion som du kan ha nytta av...
Skapa först en connection till databasen och tabellen i fråga och sen kan du bläddra igenom och se vilka fält som finns i den...

<code>
Dim x, al1, al2

x = Rs.Fields.Count - 1
al1 = False
al2 = False

For i = 0 To x
If Rs.Fields(i).Name = "al1" Then
al1 = True
ElseIf Rs.Fields(i).Name = "al2" Then
al2 = True
End If
Next

If Not al1 = True And Not al2 = True Then
Set RsCom = Server.CreateObject("ADODB.Command")
RsCom.ActiveConnection = [Connectionsträng]

If al1 = True And al2 = True Then
RsCom.CommandText = "ALTER TABLE [tabell] ADD COLUMN al1 TEXT([Fältlängd]), al2 TEXT([Fältlängd])"
ElseIf al1 = True Then
RsCom.CommandText = "ALTER TABLE [tabell] ADD COLUMN al1 TEXT([Fältlängd])
Else
RsCom.CommandText = "ALTER TABLE [tabell] ADD COLUMN al2 TEXT([Fältlängd])
End If
RsCom.Execute
RsCom.ActiveConnection.Close()
Set RsCom = Nothing
End If
</code>

Testa och se...

Mvh Thomas


Svara

Sv: Skapa tabeller "dynamiskt"

Postades av 2002-01-17 19:53:26 - Andreas Hillqvist

PRoblemet att modifiera tabellen dynamiskt är att det i princip inte går i ett fleranvändarsystem. Eftersom andra användare användersig av databasen måste du först se till att ingen av dessa är öppna. När du väl modifierar tabellen kommer användrae som försöker hämta data få felmedellande om att tabellen är låst.

Så är det bara en person som ska kunna använda den samtidigt så är det nog inte lika stort problem. Men att modifiera tabellen bara sådär under applikationes gång är inte att rekommendera.

Addministration av tabellen kanske sker mer sällan då sker förändringar.

Fördelen med mitt förslag den lättare hanterar detta. Nackdelen är att du får presentera data på ett anorlunda sätt än tidigare. Vilken beroende på projektetsstorlek innebär att du måste förändra befintlig kod.

Sedan fiss det ju oxå en begränsning i fur många kolumner du kan ha i en tabell. Om du äverstiger det. Är ju det ingen lösning att helatiden lägga till fält.

Du kan ju förklara lite mer nämnare varför du vill göra det så kanske vi kan föreslå en enklare datastruktur?


Svara

Nyligen

  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 843
27 961
271 763
839
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies