webForumDet fria alternativet

Någon som kan förklara detta?

ASP

21 svar · 452 visningar · startad av voigtann1

Medlem sedan juni 20019 519 inlägg
Frågan#1

Har haft problem(vet fortfarande inte hur man ska fixa det) när jag skapar en databas så brukar jag inte tänka iförväg så jag skapar en tabell som har "text" som bara klarar 255 tecken.. och då klarar jag response.write och allt med den.. men om jag byter den till en PM som jag vill göra nu efter jag har kommit på varför det ska vara så.. så skriver den inte ut mitt PM... varför?

Medlem sedan juni 200032 967 inlägg
#2

Jag kan inte riktigt förklara varför, men det är ett känt fenomen att ADO beter sig underligt med fält av typen PM/MEMO i Access eller Text i SQL Server. Jag har för mig att jag fått en bra förklaring av LarsG, men den kan jag inte minnas. ;)

Prova att göra som i detta inlägg, och se om det fungerar som tänkt.

Mvh,

Medlem sedan dec. 19996 522 inlägg
#3

Det har att göra med orningen du har på kolumnerna i databasen har jag för mig och vilket fältformat. Man ska antigen lägga alla text eller alla pm fält sisst i sin fråga. Minns inte vilket dock

Medlem sedan juni 20019 519 inlägg
#4

Då vänta jag svar från LarsG @nders :) ska prova med erkas förslag(när jag kommer hem från skolan) men posta fler saker om någon kommer på något som kan lösa detta.. om inte det andra som erka skriver fungera..

Medlem sedan dec. 19996 522 inlägg
#5

Lägg pm fälten sisst i frågan

Medlem sedan juni 20019 519 inlägg
#6

erka du skrev det... ska testa det när jag kommer hem :)

Medlem sedan mars 20015 287 inlägg
#7

Känner att jag är tvungen att servera eftersom ni uppenbarligen inte läser det @nders länkar till: ( http://www.webforum.nu/showthread.php?s=&postid=423621#post423621 )

Du har fält av typen PM / Memo i ditt recordset, eller hur?
Gör då så här:
* Specificera i din SQL-fråga alla fält du vill ha, med PM/Memo-fälten sist i fältlistan. Select Fält1, Fält2, PMFält1, PMFält2 From Tabellen
* Lägg in fältvärdena i variabler i den ordning fälten specificerades i SQL-frågan.
* Använd sedan de variablerna istället för att referera till recordsetet.

Medlem sedan juni 20019 519 inlägg
#8

Min SQL sats ser ut så här:

	SQL = "select * from forums order by topics"
	Set RS = Databas.Execute(SQL)

Fungerade inte att flytta längs bort med PM... :/

Medlem sedan mars 20015 287 inlägg
#9

Har du verkligen gjort som @nders skriver? Specificerat fälten samt lagt dom i variabler?

Medlem sedan nov. 2000213 inlägg
#10

testa att skriva så här istället.

Set RS = Server.CreateObject("ADODB.RecordSet")
SQL = "select * from forums order by topics"
RS.open SQL, Connection, 1, 2

Jag har haft liknande problem när jag bytt från varchar till text på SQL Server. Varför det blir så vet jag dock inte...

Medlem sedan juni 20019 519 inlägg
#11

Solbulle.. jag fattar inte ens vad dom menar med det citatet... och Anno... behöver man göra så med connection, 1, 2 ... tror inte det.. inte med SQL saken som jag kör..

Medlem sedan mars 20015 287 inlägg
#12

Skriv inte:

SQL = "select * from forums"
"
utan skriv typ:

SQL = "select namn, adress, skostorlek, pmfält1, pmfält2 from forums"

-Ingen asterisk, specificera fälten med pm-fälten sist i frågan samt lägg sen pm-fälten i variabler direkt efter att du kört di sql-fråga. (Och använd dessa i koden sen, inte typ rs("pmfält1").

Medlem sedan feb. 20022 594 inlägg
#13

Istället för

RS.open SQL, Connection, 1, 2

ska det vara

Connection.Execute(SQL) ,,128
Medlem sedan jan. 20022 440 inlägg
#14

Du kan ju inte göra connect.Execute(SQL),,128 då skapas ju inget recordset.

Medlem sedan juni 20019 519 inlägg
#15

solbulle skrev:

Skriv inte:

SQL = "select * from forums"
"
utan skriv typ:

SQL = "select namn, adress, skostorlek, pmfält1, pmfält2 from forums"

-Ingen asterisk, specificera fälten med pm-fälten sist i frågan samt lägg sen pm-fälten i variabler direkt efter att du kört di sql-fråga. (Och använd dessa i koden sen, inte typ rs("pmfält1").

gjort detta nu.. fungera inte...

Medlem sedan juni 200032 967 inlägg
#16

Visa din kod.

Medlem sedan juni 20019 519 inlägg
#17

SQL = "select ID,namn,topics,url,topic,info from forums order by topics"
Set RS = Databas.Execute(SQL)

och om jag ändra info till Text igen så fungera det...

Medlem sedan juni 200032 967 inlägg
#18

...och sedan

@nders skrev:

* Lägg in fältvärdena i variabler i den ordning fälten specificerades i SQL-frågan.
* Använd sedan de variablerna istället för att referera till recordsetet.

Det är när du försöker använda fältvärdena direkt som det går åt pipan, därför måste du lägga ner grejerna i variabler.

Mvh,

Medlem sedan juni 20019 519 inlägg
#19

och det gör man? (Känner mej som en nybörjare igen)

Medlem sedan juni 200032 967 inlägg
#20
SQL = "select ID,namn,topics,url,topic,info from forums order by topics" 
Set RS = Databas.Execute(SQL) 
' och sedan variabler i den ordning fälten listades i frågan
ID = RS("ID")
namn = RS("namn")
topics = RS("topics")
url = RS("url")
topic = RS("topic")
info = RS("info")
' sedan när du ska skriva ut värden använder du variabeln istället
Response.Write ID & " - " & namn & " - " & url
' sen har vi movenext och hela klabbet

Jag var inte medveten om att jag skrev så kryptiskt...

250 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)