webForum webForum sponsras med lina och serverplats av Binero AB

Gå tillbaka   webForum > Utveckling > Webbutveckling > ASP

ASP Diskussioner om Active Server Pages, med relaterade scriptspråk (klassisk asp).

Svar
 
Trådverktyg Visningsalternativ
Äldre 2005-07-22, 01:26   #1
M@rtin
Medlem
 
Registrerad: 1999-12-11
Ort: Stockholm/Fruängen
Inlägg: 1 214
Lösningar: 645
Fylla databaskolumner i ordning

Jag har en databastabell som ser ut ungefär så här:

id | var1 | var2 | var3 | var4


Nu vill jag att den ska fyllas i båda dimensionerna varje gång man vill lägga in nåt i databasen. Alltså först och främst ska var1-4 fyllas i ordning, sedan ska det skapas en ny rad med nytt id när det behövs.

Hur gör man detta?
__________________
I'm drinking the ink from my pen
Pusha.se
M@rtin besöker inte forumet just nu   Svara med citat
Äldre 2005-07-22, 06:46   #2
@nders
Moderator
Marsvin
 
@nderss avatar
 
Registrerad: 2000-06-30
Ort: Nyköping
Inlägg: 26 817
Lösningar: 3146
Om du har möjlighet att försöka skriva frågan på ett annat sätt skulle det underlätta. Jag förstår ingenting!
__________________
@aviddevguy
@nders besöker inte forumet just nu   Svara med citat
Äldre 2005-07-22, 11:57   #3
M@rtin
Medlem
 
Registrerad: 1999-12-11
Ort: Stockholm/Fruängen
Inlägg: 1 214
Lösningar: 645
Hehe, ja det jag egentligen vill åstadkomma är att man för varje dag kan lägga in fyra värden.


date_id | va1 | va2 | va3 | va4
050422 | 100 | 200 | 150 | 250
050423 | 123 | 320 | 120 | 100
050424 | 340 | 120 | 200 | 300
050423 | 120 | 230 |

Värdena kan komma när som helst, det behöver inte (och är oftast inte) under samma datum som där jag vill lägga det.

Om det nu är 050422 och jag får in ett värde så ska det läggas efter 230 på datum 050423 och det är det här jag inte riktigt vet hur man gör.

Ett annat problem är hur man lägger in nästkommande datum när en rad är full.

Svårt att förklara på något annat sätt men jag hoppas det klarnar.
__________________
I'm drinking the ink from my pen
Pusha.se
M@rtin besöker inte forumet just nu   Svara med citat
Äldre 2005-07-22, 14:25 Markerad som löst av M@rtin   #4
nordiz
Medlem
 
Registrerad: 2000-05-27
Ort: Stockholm
Inlägg: 27
Lösningar: 3
Låter som något du lämpligtvis gör med en lagrad procedur om det nu är mssql du kör, den skulle väl i princip se ut såhär:


CREATE PROCEDURE [dbo].[spSaveValue] (@value as varchar(50)) AS


declare @var1 as varchar(50)
declare @var2 as varchar(50)
declare @var3 as varchar(50)
declare @var4 as varchar(50)
declare @id as varchar(50)


select top 1 @id=id, @var1=var1, @var2=var2, @var3=var3, @var4=var4 from test order by id desc


if @var1 is null begin
update test set var1=@value where id=@id
end else begin
if @var2 is null begin
update test set var2=@value where id=@id
end else begin
if @var3 is null begin
update test set var3=@value where id=@id
end else begin
if @var4 is null begin
update test set var4=@value where id=@id
end else begin
insert into test (var1) values (@value)
end
end
end
end


(om nu tabellen heter test och idkollumnen heter id)





Om du nu inte kör mssql kan du göra samma sak i asp, något i stil med:

sub saveValue(sValue)
sValue = replace(sValue, "'", "''")
set oRS = odb.execute("select top 1 id, var1,var2, var3,var4 from test order by id desc")



if isnull(ors("var1").value) then
odb.execute "update test set var1='" & sValue & "' where id=" & ors("id")
exit sub
end if

if isnull(ors("var2").value) then
odb.execute "update test set var2='" & sValue & "' where id=" & ors("id")
exit sub
end if

if isnull(ors("var3").value) then
odb.execute "update test set var3='" & sValue & "' where id=" & ors("id")
exit sub
end if

if isnull(ors("var4").value) then
odb.execute "update test set var4='" & sValue & "' where id=" & ors("id")
exit sub
end if

odb.execute "insert into test (var1) values ('" & sValue & "'")

end sub






----------
Hmms.. nu blev det säkert en jäkla massa rörig kod och ett långt meddelande, (sitter och skriver allt direkt i webbläsaren så jag garanterar inte att det funkar.. men nått i den stilen iaf)...
nordiz besöker inte forumet just nu   Svara med citat
Äldre 2005-07-22, 14:30   #5
M@rtin
Medlem
 
Registrerad: 1999-12-11
Ort: Stockholm/Fruängen
Inlägg: 1 214
Lösningar: 645
Kör mysql tyvärr men din andra lösning borde fungera alldeles utmärkt den med!

Tack så mycket!
__________________
I'm drinking the ink from my pen
Pusha.se
M@rtin besöker inte forumet just nu   Svara med citat
Äldre 2005-07-22, 14:34   #6
@nders
Moderator
Marsvin
 
@nderss avatar
 
Registrerad: 2000-06-30
Ort: Nyköping
Inlägg: 26 817
Lösningar: 3146
Jag tycker mest att det verkar som att datamodellen stinker. Men å andra sidan kan jag inte för mitt liv förstå mig på vad du håller på med, så jag kan inte direkt ge tips.

Generellt sett tycker jag dock att du borde ha en tabell med ett datum och ett fält för "värde" (vad nu det är), och upp till fyra poster per datum.

Jag förstår inte alls heller varför ett värde som tillhör 050422 skall ligga i ett fält som tillhör en post för 050423. Men det är väl inte meningen att man ska förstå...?

mvh
__________________
@aviddevguy
@nders besöker inte forumet just nu   Svara med citat
Svar
webForum > Utveckling > Webbutveckling > ASP

Trådverktyg
Visningsalternativ

Forumregler
Du får inte posta nya trådar
Du får inte posta svar
Du får inte bifoga filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är av
HTML-kod är av

Forumhopp


Alla tider är i GMT +1. Klockan är nu 07:43.


Powered by: vBulletin Version 3.8.6
Copyright © webForum