webForumDet fria alternativet

Problem med att skriva ut poster ifrån en databas?

ASP

4 svar · 393 visningar · startad av Quid

Medlem sedan juni 20006 022 inlägg
Frågan#1

Jag har en enkel SQL-fråga:

SQL = "SELECT * FROM Account WHERE f_CustomerID = "& Request.QueryString("id") &" ORDER BY f_ID DESC"
Set SQL_GetAccount = DB.Execute(SQL)

Sen har jag ett antal fält i databasen som jag vill skriva ut, dessa funkar:

<%= SQL_GetAccount("f_CustomerID") %> (int)
<%= SQL_GetAccount("f_AccountID") %> (int)
<%= SQL_GetAccount("f_Server") %> (nvarchar(150))
<%= SQL_GetAccount("f_Login") %> (nvarchar(50))
<%= SQL_GetAccount("f_Password") %> (nvarchar(50))
<%= SQL_GetAccount("f_BillingNext") %> (smalldatetime)

Men följande funkar inte:

<%= SQL_GetAccount("f_Billing") %> (int)
<%= SQL_GetAccount("f_Notes") %> (ntext)

Jag får inget felmeddelande, jag kan se tabellen och datan i databasen (SQL 2005), men det skrivs inte ut någonting. Vad kan det bero på?

Medlem sedan juni 200032 967 inlägg
#2

Vad är det för datatyp på fälten?
Om det är text-fält så kan du bara hämta data ur dem en gång - så om du använder fältvärdet innan (t.ex. i en if-sats) så är fältet "tomt" sedan.

Lösningen är i så fall att spara värdet i en variabel innan du använder det första gången.

Medlem sedan juni 20006 022 inlägg
#3

Sparar jag det i variabel så funkar det, trots att jag inte skriver ut datan mer än en gång.

Tack!

Medlem sedan juni 200032 967 inlägg
#4

Det spelar ingen roll om du skriver ut datan mer än en gång - det är att hämta det ur recordsetet som bara kan göras en gång. Men det kanske var det du menade. :)

Medlem sedan juni 20006 022 inlägg
#5

Jaha, då är jag med.

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)