Avatar billede znuggle.com Nybegynder
13. juni 2003 - 20:30 Der er 13 kommentarer og
2 løsninger

Fejl ASP kode

Hej!

Jeg har lavet et lille script her, forbinder til en database, men forskellige tabeller. Derfor har jeg lavet 3 forbindelser (2x til en tabel og 1x til en anden tabel)... Men det ser ikke ud til at virke. Jeg får denne fejl, når jeg går ind på siden:


Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/znuggle_com/aktie/homepage.asp, line 22


Og koden ser sådan ud:


<%@ Language=VBScript %>
<%
If Not Session("login") > 0 Then Response.Redirect("login.asp")
%>
<!-- #include file = "header.asp" -->
<%
set Conn = Server.createobject("adodb.connection")
conn.Open "DBQ="& Server.MapPath(".") &"/db.mdb; DefaultDir=DBQ="& Server.MapPath("/") &";Driver={Microsoft Access Driver (*.mdb)};"
SQL = "SELECT * FROM Community WHERE ID = " & Session("login")
Set RS = conn.Execute(SQL)
%>
<p><b>Hej <%=RS("username")%>!</b></p>
<p>Her er Deres portfolio. De kan bruge menuen ude i venstre side til at navigere Dem rundt på sitet.</p>
<%
conn.Close
set Conn = Nothing
%>
<%
set Conn = Server.createobject("adodb.connection")
conn.Open "DBQ="& Server.MapPath(".") &"/db.mdb; DefaultDir=DBQ="& Server.MapPath("/") &";Driver={Microsoft Access Driver (*.mdb)};"
SQL2 = "SELECT * FROM Stocks WHERE OwnerID = " & Session("login")
Set RS = conn.Execute(SQL2)
%>
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="border: 1 solid #000000;">
  <tr>
    <td width="20%" style="border-right: 1 solid #000000;"><b>Aktienavn</b></td>
    <td width="20%" style="border-right: 1 solid #000000;"><b>Købskurs</b></td>
    <td width="20%" style="border-right: 1 solid #000000;"><b>Antal</b></td>
    <td width="20%" style="border-right: 1 solid #000000;"><b>Købskurs * Antal</b></td>
    <td width="20%"><b>Sælg</b></td>
  </tr>
<% Do While Not RS.EOF %>
  <tr>
    <td width="20%" style="border-right: 1 solid #000000;"><%=RS("StockName")%></td>
    <td width="20%" style="border-right: 1 solid #000000;"><%=RS("BuyValue")%></td>
    <td width="20%" style="border-right: 1 solid #000000;"><%=RS("Number")%></td>
    <td width="20%" style="border-right: 1 solid #000000;">
<%
Price = RS("BuyValue") * RS("Number")
Response.Write Price
%>
    </td>
    <td width="20%"><i>Sælg</i></td>
  </tr>
<%
RS.MoveNext
Loop
%>
</table>
<%
conn.Close
set Conn = Nothing
%>
<%
set Conn = Server.createobject("adodb.connection")
conn.Open "DBQ="& Server.MapPath(".") &"/db.mdb; DefaultDir=DBQ="& Server.MapPath("/") &";Driver={Microsoft Access Driver (*.mdb)};"
SQL3 = "SELECT * FROM Community WHERE ID = " & Session("login")
Set RS = conn.Execute(SQL3)
%>
<p>Kontant: <u><%=RS("Money")%> kr.</u></p>
<%
conn.Close
set Conn = Nothing
%>
<!-- #include file = "footer.asp" -->


Nogen der kan hjælpe mig?
Avatar billede znuggle.com Nybegynder
13. juni 2003 - 20:40 #1
Eagleeye ?? hehe, du plejer altid at være den første, når jeg stiller et ASP spm som dette :D
Avatar billede keysersoze Ekspert
13. juni 2003 - 20:41 #2
hvilken kolonnetype er OwnerID?
Avatar billede znuggle.com Nybegynder
13. juni 2003 - 20:53 #3
Det er bare et felt... Ikke nogle spec. egenskaber
Avatar billede keysersoze Ekspert
13. juni 2003 - 20:57 #4
det MÅ da være et eller andet - tekst, tal, autonummereing...

prøv engang;

SQL2 = "SELECT * FROM Stocks WHERE OwnerID = '" & Session("login") & "'"
Avatar billede znuggle.com Nybegynder
13. juni 2003 - 21:05 #5
Jeg tror, du er tryllekunstner! Det virker... Jeg vil også lige spørge om noget andet, nu vi er igang...

Jeg vil gerne gange RS("BuyValue") med RS("Number"), så jeg lavede lige den her:

<%
Price = RS("BuyValue") * RS("Number")
Response.Write Price
%>

Men det virker åbenbart ikke?

Kan du hjælpe mig med den?
Avatar billede keysersoze Ekspert
13. juni 2003 - 21:12 #6
hvad meldes af fejl? prøv evt

Price = (cint(RS("BuyValue")) * cint(RS("Number"))
Avatar billede Slettet bruger
13. juni 2003 - 21:12 #7
Price = cdbl(RS("BuyValue")) * cdbl(RS("Number"))
Avatar billede znuggle.com Nybegynder
13. juni 2003 - 21:17 #8
Jeg får denne fejlmeddelelse, når jeg prøver den linje, du foreslår mig:

Microsoft VBScript runtime error '800a005e'

Invalid use of Null: 'cint'

/znuggle_com/aktie/homepage.asp, line 39

Hvad er det?
Avatar billede Slettet bruger
13. juni 2003 - 21:18 #9
En af dine værdier indeholder ikke noget.
Avatar billede znuggle.com Nybegynder
13. juni 2003 - 21:19 #10
Ok tjekker lige
Avatar billede Slettet bruger
13. juni 2003 - 21:22 #11
Du kan evt prøve at gøre sådan
if not isnull(rs("BuyValue") and not isnull(rs("number") then
  Price = cdbl(RS("BuyValue")) * cdbl(RS("Number"))
else
  Price = 0
end if
Avatar billede Slettet bruger
13. juni 2003 - 21:23 #12
Hmm der smuttede lige et par paranteser:
if not isnull(rs("BuyValue")) and not isnull(rs("number")) then
  Price = cdbl(RS("BuyValue")) * cdbl(RS("Number"))
else
  Price = 0
end if
Avatar billede znuggle.com Nybegynder
13. juni 2003 - 21:24 #13
Det virker fint! :D Hæver lige point til 100 så I kan få 50 hver :D
Avatar billede Slettet bruger
13. juni 2003 - 21:26 #14
Jamen mange tak :-)
Avatar billede znuggle.com Nybegynder
13. juni 2003 - 23:53 #15
No problemoz :D
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