23. november 2006 - 23:23Der er
5 kommentarer og 1 løsning
Problemer med et Recordset og SQL server
Jeg har oprettet en SQL database med en række produkter, og skulle så lige lave et simpelt test script for at se at det hele fungerede som det skulle, men hmmm...
<%
SET objConn = SERVER.CREATEOBJECT("ADODB.CONNECTION") objConn.Open = "Her er bare min connection string"
SET objRS = Server.CreateObject("ADODB.RECORDSET") SET objRS.ActiveConnection = objConn
mySQL = "SELECT * FROM products"
objRS.Open mySQL %> <html> <body> <table border="1"> <tr> <td>Navn</td> <td>Thumb</td> <td>SKU</td> <td>Buy Price</td> <td>Sell Price</td> <td>Power</td> </tr> <%Do While Not objRS.EOF%> <tr> <td><%=objRS("Name")%></td> <td><%=objRS("picthumb")%></td> <td><%=objRS("sku")%></td> <td><%=objRS("buyprice")%></td> <td><%=objRS("sellprice")%></td> <td><%=objRS("power")%></td> </tr> <% objRS.MoveNext Loop%> </table> </body> </html> <% objRS.Close objConn.Close Set objRS = Nothing Set objConn = Nothing %>
Jeg kan trække det hele ud fint, men buyprice og sellprice, kan jeg simpelthen ikke få ud, begge fields er varchar på 50 tegn.
Formatet på data i de 2 fields er f.eks. 10.58, hvorfor kan jeg ikke hive det ud?
Jeg har før været udsat for em særhed (nogen kalder det et bug) i ADO sammen med SQL Server, som gjorde at felterne skulle aflæses i den rækkefølge som de blev trukket ud. Derfor kan det være at følgende modifikation af din kode fungerer:
<%
SET objConn = SERVER.CREATEOBJECT("ADODB.CONNECTION") objConn.Open = "Her er bare min connection string"
SET objRS = Server.CreateObject("ADODB.RECORDSET") SET objRS.ActiveConnection = objConn
mySQL = "SELECT Name,picthumb,sku,buyprice,sellprice,power FROM products"
objRS.Open mySQL %> <html> <body> <table border="1"> <tr> <td>Navn</td> <td>Thumb</td> <td>SKU</td> <td>Buy Price</td> <td>Sell Price</td> <td>Power</td> </tr> <%Do While Not objRS.EOF name = objRS("Name") picthumb = objRS("picthumb") sku = objRS("sku") buyprice = objRS("buyprice") sellprice = objRS("sellprice") power = objRS("power") %> <tr> <td><%=Name%></td> <td><%=picthumb%></td> <td><%=sku%></td> <td><%=buyprice%></td> <td><%=sellprice%></td> <td><%=power%></td> </tr> <% objRS.MoveNext Loop%> </table> </body> </html> <% objRS.Close objConn.Close Set objRS = Nothing Set objConn = Nothing %>
thesurfer > Jeg er helt sikker på at der er data i de 2 kolonner, for når jeg tjekker indholdet i databasen via den webbaseret enterprise manager kan jeg se indholdet, og det er der er så underligt at den vel også trække indholdet ud ved hjælp af en SQL streng.
softspot > Det er da et forsøg værd, jeg vender lige tilbage med en status
ok, så har jeg fået det til at fungere, det var ikke rækkefølgen der gjorde, jeg skulle simpelthen bare sætte strengen med alle felternes navne i stedet for bare at bruge *.
Softspot hvis du lige laver et svar, så skal du få point.
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.