Tjenahejsan! No affence men du har nog inte arbetat mycket med databaser?! Som sagts tidigare. Överväg att ändra din datastruktur. "No affence men du har nog inte arbetat mycket med databaser?! Dagen efter... Tycker inte att du ska be om ursäkt Niklas, ditt inlägg var väl motiverat anser jag! Det är skitjobbigt med folk som inte fattar alla ligger inne med deras fantastiska kompetens. Trist! Jag håller verkligen med dig Jonas. Men förr än de anar har vi tragglat oss igenom det här och till slut så kommer den Aha-upplevelse som vi strävar efter och som alltid infinner sig förr eller senare och då kan VI besvara frågor i forumet och ni kan hajja att jag kommer att föregå med gott exempel och vara extremt hövlig mot alla som har viljan att lära sig. Det ska bli skönt att få "betala tillbaks" med ödmjukhet som kan pusha någon framåt istället för att rycka undan den gnutta hopp någon har skramlat på sig, av idogt traglande, genom att påpeka att denne är totalt grön i gamet. (Det vet man i regel om ändå... utan att någon påpekar det.) Man kommer bara orka förklar SQL-inject det de första gångerna, tills man når sin gräns. Därefter kommer man nämna, till sist inte ta upp det alls.Hämta från flera fält med Recordset
Jag har en databar med texter och bilder som jag skulle behöva lite hjälp med.
Fälten i tabellen är som följer:
MainSkrivID AutoNumber Primärnyckel
Skriv Memo
LankSkriv Text
HogerA Text
HogerB Text
HogerC Text
HogerD Text
HogerE Text
HogerF Text
HogerG Text
HogerH Text
HogerI Text
HogerJ Text
HogerK Text
Fältet Skriv innehåller hela texten för en sida. LänkSkriv är vad som står på själva länken.
HogerA - HogerK innehåller bildlänkar till bilder som jag vill skall dekorera sidan i en högerspalt. Tänkte om man, på nåt sätt, loopa sig igenom HogerA-HogerD. Som jag löst det för tillfället känns verkligen inte som den bästa lösningen. Nu har jag skrivit in alla fältnamn med RecordSet såhär: (Jag visar hela tabellen här, ni ser vart jag behöver hjälp)
<table width="370" cellspacing="0" cellpadding="0">
<tr>
<td width="250" valign="top">
<%
Dim MainSkrivID
MainSkrivID = Request.QueryString("MainSkrivID")
Set koppling = Server.CreateObject("ADODB.Connection")
Set rs3 = Server.CreateObject("ADODB.RecordSet")
koppling.Open "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("/data/texter.mdb")
sql = "SELECT * FROM tblProduktion WHERE MainSkrivID=(" & MainSkrivID & ")"
rs3.Open sql, koppling, 1, 3
%>
<% Response.Write(rs3("Skriv")) %>
</td>
<td width="5"></td>
<td width="115" align="center" valign="top">
<% Response.Write(rs3("HogerA") & "<br>" & rs3("HogerB") & "<br>" & rs3("HogerC") & "<br>" & rs3("HogerD") & "<br>" & rs3("HogerE") & "<br>" & rs3("HogerF") & "<br>" & rs3("HogerG") & "<br>" & rs3("HogerH") & "<br>" & rs3("HogerI") & "<br>" & rs3("HogerJ") & "<br>" & rs3("HogerK")) %>
</td>
</tr>
</table>
Sv: Hämta från flera fält med Recordset
Din funktion kan på flera sätt göras om det det bättre.
tabell tblProduktion
ID
description (skriv)
linkname
tabell mainlinks
ID
skrivID (kopplar ihop länken med mainskrivID)
link (text)
Eller om vi gör på ditt sätt:
Förresten varför vill du bara loopa mellan A-D ?
Iaf - så här loopar man mellan A-D
<% ' sql = "SELECT MainSkrivID, Skriv, LankSkriv, HogerA, HogerB, HogerC, HogerD, HogerE, HogerF, HogerG, HogerH, HogerI, HogerJ, HogerK FROM tblProduktion WHERE MainSkrivID=(" & MainSkrivID & ")"
For I =2 To rs3.Fields.Count or i=6
Response.write RS3(i)&"<br>"
Next
%>
Om du vill loopa till K, ta bort "or i=6"
Sv: Hämta från flera fält med Recordset
<table width="370" cellspacing="0" cellpadding="0">
<tr>
<td width="250" valign="top">
<%...%>
<%
Dim MainSkrivID
Dim FieldName
Dim FieldNames
FieldNames = Array("HogerA", "HogerB", "HogerC", "HogerD", "HogerE", "HogerF", "HogerG", "HogerH", "HogerI", "HogerJ", "HogerK")
MainSkrivID = Request.QueryString("MainSkrivID")
Set koppling = Server.CreateObject("ADODB.Connection")
Set rs3 = Server.CreateObject("ADODB.RecordSet")
koppling.Open "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("/data/texter.mdb")
sql = "SELECT * FROM tblProduktion WHERE MainSkrivID=(" & MainSkrivID & ")"
rs3.Open sql, koppling
If rs3.EOF Then
Response.Write "<h3>Posten ej funnen!</h3>"
Else
Response.Write(rs3("Skriv"))
%>
</td>
<td width="5"></td>
<td width="115" align="center" valign="top">
<%
For Each FieldName In FieldNames
If Len(rs3(FieldName)) > 0 Then
Response.Write "<img src=""" & rs3(FieldName) & """/><br>"
End If
Next
End If
%>
</td>
</tr>
</table>
Sedan är ju din kod sårbar för SQL-inject attacker.
Sv:Hämta från flera fält med Recordset
Din funktion kan på flera sätt göras om det det bättre."
And so can your English skills?!
Jag kan inte se vart jag skrev att jag jobbat mycket med databaser? En del av er får helt enkelt inse att vi är MÅNGA som tragglar oss fram i inlärningsstadiet och ENDAST gör så gott vi bara kan. Många nybörjare går in i forumet och frågar efter en färdig lösning utan att vilja lära sig nåt. Jag, som så många andra, håller på och lär mig och vill försöka knepa och knåpa och traggla och "learn by doing" och få hjälp och goda råd här i forumet när vi efterfrågar det. Vad vi däremot klarar oss VÄLDIGT bra utan är spydiga kommentarer, från folk som kan det här på sina fem fingrar. Jag är MYCKET glad för den hjälp jag får här, men PLEASE bespara mig snorkigheter. Man kan faktiskt hjälpa UTAN att ta tillfället i akt och klanka ner på nån. Att antyda till mig att jag inte arbetat mycket med databaser, är MYCKET överflödigt och onödigt. Tro mig, jag är extremt och smärtsamt medveten om hur kass jag är på databaser, men jag FÖRSÖKER i alla fall och jag kommer lära mig NÅN gång, men det kommer inte att gå fortare för att du bara måste vara lite högdragen. Din inledning kunde mycket enkelt göras om till nånting lite mer Trevligt i stil med "Jag vet hur du tänker, men såhär kanske blir snyggare och mer praktiskt.
Men tack i alla fall för att du orkade ta dig tid att förklara. Jag ska testa det.Sv: Hämta från flera fält med Recordset
Sorry att jag var lättstött igår och verkade lite väl snarstucken. Jag var extremt trött och väldigt, väldigt utarbetad och var inte mottaglig för att höra att jag suger på databaser. Efter några timmars behövlig sömn kan jag ta en sån kommentar lättare. :-) Har testat lösningarna och de fungerar fin-fint. Har även skyddat mot SQL-injections...
Lev väl kamrater.Sv:Hämta från flera fält med Recordset
Ödmjukhet är en dygd va...?Sv: Hämta från flera fält med Recordset
Sv:Hämta från flera fält med Recordset
Mycket av informationen på vanliga frågor finns hör på forumet.
Något som jag ser är någon form av intelligens som känner igen nyckelord/mönster i frågor för att finna relaterade inlägg.