Avatar billede maddog_em Nybegynder
08. maj 2014 - 07:28 Der er 8 kommentarer og
1 løsning

Mangler Kolonner ved SQL udtræk

Hej

Jeg sidder med et rigtig irriterende problem, når jeg vil trække data fra en SQL DB og jeg vælger at få data fra eks. 5 kolonner - viser den måske en eller måske 4 resultater. Hvis jeg så sletter den ene, så kan den godt vise de sidste 4 resultater. Indsættes den 5 som blev slettet og jeg med det samme sletter en af de andre, viser den igen 4 resultater!!!!

Jeg fatter det ikke.....

webhotel og databasen er hostet ved Dandomain.

Her er et eksempel på en side hvor det går galt - den viser 3-4 resultater, selv om der burde komme 6:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={SQL Server};" & _
"Server=mssql08.dandomain.dk;" & _
"Database=xxxxxxxxxx;" & _
"Uid=xxxxxxxxxxx;" & _
"Pwd=xxxxxxxxxx;"

SQL = "SELECT *    FROM SalesTabelView where kategori = 'Salg' ORDER BY Id DESC "
Set RS = Conn.Execute(SQL)

On Error Resume Next
rs.MoveFirst
do while Not rs.eof
%>

<br /><%= rs("SagsNr") %>
<br /><%= rs("Id") %>
<br /><%= rs("Navn") %>
<br /><%= rs("Omraade") %>
<br /><%= rs("Pris") %>
<br /><%= rs("Adresse") %>
<br />

<%
rs.MoveNext
loop
   
Conn.Close
Set Conn = Nothing
%>               

NB i databasen er der indtil videre 14 kolonner og 47 poster
Avatar billede keysersoze Guru
08. maj 2014 - 08:12 #1
Fjern din On Error Resume Next - ellers er det umuligt for dig at se om der opstår fejl hvilket jeg gætter på at der gør.
Avatar billede maddog_em Nybegynder
08. maj 2014 - 08:16 #2
Hej igen

Nu er jeg virkelig forvirret, efter mit sidste indlæg kom jeg ved et uheld til at slette alle <%= rs("....")%> på min test side.
Jeg skrev dem ind igen, men åbenbart ikke i samme rækkefølge - og nu kan jeg se alle 6 resultater.
Hvis jeg så bytter rundt på rækkefølgen mister jeg igen nogle resultater.... det er da bare ikke holdbar i længden.

hvordan kan man løse det - det er måske et DB problem??

<br /><%= rs("Navn") %>
<br /><%= rs("Omraade") %>
<br /><%= rs("Adresse") %>
<br /><%= rs("Pris") %>
<br /><%= rs("SagsNr") %>
<br /><%= rs("Id") %>


er den rækkefølge der virker
Avatar billede maddog_em Nybegynder
08. maj 2014 - 08:20 #3
#Keysersoze

Det giver ingen forskel om jeg har On Error Resume Next eller ej
når siden afvikles, kommer der bare blanke linjer.

Jeg tror faktisk at vi skrev et indlæg på sammetid, så jeg ved ikke om du har set den med at  rækkefølgen af mine <%= rs("....")%> har en betydning
Avatar billede maddog_em Nybegynder
08. maj 2014 - 08:34 #4
Kan det være mine data typer i SQL databasen der driller?

Navn --> varchar(MAX)
Omraade  --> varchar(MAX)
Adresse --> varchar(MAX)
Pris --> varchar(MAX)
SagsNr --> laves i DB view med (Id+10000) AS SagsNr
Id --> int

kan det mon være her prolemmet skal løses
Avatar billede softspot Forsker
08. maj 2014 - 08:36 #5
Prøv evt. at opdatere til connectionstring til en nyere version. Jeg har på fornemmelsen, at det skyldes den driver der bruges...

se evt. på www.connectionstrings.com/sql-server/ og find den der passer til din database. Det kunne være du skulle benytte OLEDB driver i stedet for den du bruge nu (www.connectionstrings.com/sql-server-native-client-11-0-oledb-provider/)
Avatar billede maddog_em Nybegynder
08. maj 2014 - 09:06 #6
#Softspot

når jeg ændre min connection string til:
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=SQLNCLI11;" & _
"Server=mssql08.dandomain.dk;" & _
"Database=xxxxxxxxxxxxx;" & _
"User ID=xxxxxxxxxxxx;" & _
"Password=xxxxxxxxxxxx;"


Får jeg en Server Error - 500 Internal server error

er det ikke korrekt at jeg skulle udskifte Driver={SQL Server} med Provider......
Avatar billede softspot Forsker
08. maj 2014 - 11:36 #7
Du skal udskifte hele forbindelsesstrengen (dvs. overholde navngivning og format af alle parametre). Det er da muligt, det kun er provider, der skal skiftes.

Summa sumarum, så skal du dels vide hvilken version af SQL Server DanDomain kører, dels hvilke drivere de har installeret på webserveren (og så benytte forbindelsesstrengen til seneste udgave)...
Avatar billede maddog_em Nybegynder
08. maj 2014 - 12:50 #8
#Softspot

Det virker efter jeg begyndte at bruge Provider=SQLOLEDB

mange tak for hjælpen

Smid et svar
Avatar billede softspot Forsker
08. maj 2014 - 13:03 #9
Velbekomme.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester