webForumDet fria alternativet

Object Required

23 svar · 853 visningar · startad av WebbisNet

WebbisNetMedlem sedan feb. 20032 027 inlägg
#1

varför får jag
Microsoft VBScript runtime error '800a01a8'

Object required: 'SELECT BulletinBoard'

med

SQL = "SELECT BulletinBoard.PostID AS Post, BulletinBoard.BBName, BulletinBoard.BBEmail, BulletinBoard.Subject, BulletinBoard.ResponseTo, BulletinBoard.BBDate, BulletinBoard.BBTime  FROM BulletinBoard  WHERE ResponseTo = 0 AND BBDate >(Date()-90) ORDER BY BBDate DESC"

Min kopplingssträng är

<%
Function connect()
	Dim objConn
	Set objConn = Server.CreateObject("ADODB.Connection") 
	objConn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=193.13.74.203;PORT=3306;DATABASE=XXXXXXXX; USER=XXXXXXXX;PASSWORD=XXXXXXXX;OPTION=3;"
	Set connect = objConn
End Function

set objConn = Connect()
%>
@ndersMedlem sedan juni 200032 969 inlägg
#2

Du får visa mer kod. Felet kommer inte från den raden. Försöker du göra SQL.open eller något?

emissionMedlem sedan dec. 19996 721 inlägg
#3

Du får visa mer kod.

M.CheraghiMedlem sedan juli 20015 107 inlägg
#4

mer kod?

red: Trist att @nders snabel räcker så långt. :P

@ndersMedlem sedan juni 200032 969 inlägg
#5

Passar också på att flytta tråden till rätt forum.

WebbisNetMedlem sedan feb. 20032 027 inlägg
#6
<%SQL = "SELECT BulletinBoard.PostID AS Post, BulletinBoard.BBName, BulletinBoard.BBEmail, BulletinBoard.Subject, BulletinBoard.ResponseTo, BulletinBoard.BBDate, BulletinBoard.BBTime  FROM BulletinBoard  WHERE ResponseTo = 0 AND BBDate >(Date()-90) ORDER BY BBDate DESC"
If SQL.eof = false then

On Error Resume Next
SQL.MoveFirst
do while Not SQL.eof
Post = SQL("Post")
BBDate = SQL("BBDate")
%>
 
<%If BBDate = Date() then%> 
     
      <img src="images/anibutton.gif" align="absmiddle">
<%ElseIf BBDate = (Date() -1 ) then%> 
       <img src="images/button.gif" align="absmiddle">
<%ElseIf BBDate = (Date() -2 ) then%> 
         <img src="images/button2.gif" align="absmiddle" width="15" height="14">
<%Else%>
           <img src="images/button3.gif" align="absmiddle" width="15" height="14">
<%end if%>
      
      <a href="ViewPost.asp?Post=<%=Server.HTMLEncode(SQL.Fields("Post").Value)%>"><%=Server.HTMLEncode(SQL.Fields("Subject").Value)%></a> 
- <a style="text-decoration: none; color: #C0C0C0;" href="mailto:<%=Server.HTMLEncode(SQL.Fields("BBEmail").Value)%>"><b><%=Server.HTMLEncode(SQL.Fields("BBName").Value)%></b></a><i> <%=Server.HTMLEncode(SQL.Fields("BBDate").Value)%> <%=Server.HTMLEncode(SQL.Fields("BBTime").Value)%></i><br>
<%Set SQL2 = Server.CreateObject("ADODB.Recordset")
     sql = "SELECT BulletinBoard.PostID AS Post2, BulletinBoard.BBName AS BBName2, BulletinBoard.BBEmail AS BBEmail2, BulletinBoard.Subject AS Subject2, BulletinBoard.Message AS Message2, BulletinBoard.ResponseTo AS ResponseTo2, BulletinBoard.BBHomepageName AS BBHomepageName2, BulletinBoard.BBHomepageURL AS BBHomepageURL2, BulletinBoard.ImageURL AS ImageURL2, BulletinBoard.BBDate AS BBDate2, BulletinBoard.BBTime AS BBTime2 FROM BulletinBoard WHERE ResponseTo = "&Post&" ORDER BY BBDate DESC"
SQL2.open sql, conn, 3, 3
If SQL2.eof = false then

%>

<%On Error Resume Next
SQL2.MoveFirst
do while Not SQL2.eof
Post2 = SQL2("Post2")
BBDate2 = SQL2("BBDate2")
%>
 
<%If BBDate2 = Date() then%> 
     
      <img src="images/blank.gif" align="absmiddle" width="15" height="14">
      <img src="images/anibutton.gif" align="absmiddle" width="15" height="14">
<%ElseIf BBDate2 = (Date() -1 ) then%> 
       <img src="images/blank.gif" align="absmiddle" width="15" height="14">
       <img src="images/button.gif" align="absmiddle" width="15" height="14">
<%ElseIf BBDate2 = (Date() -2 ) then%> 
         <img src="images/blank.gif" align="absmiddle" width="15" height="14">
         <img src="images/button2.gif" align="absmiddle" width="15" height="14">
<%Else%>
           <img src="images/blank.gif" align="absmiddle" width="15" height="14">
           <img src="images/button3.gif" align="absmiddle" width="15" height="14">
<%end if%>
      
      <a href="ViewPost.asp?Post=<%=Post2%>"><%=Server.HTMLEncode(SQL2.Fields("Subject2").Value)%></a> - <a style="text-decoration: none; color: #C0C0C0;" href="mailto:<%=Server.HTMLEncode(SQL2.Fields("BBEmail2").Value)%>"><b><%=Server.HTMLEncode(SQL2.Fields("BBName2").Value)%></b></a><i> <%=Server.HTMLEncode(SQL2.Fields("BBDate2").Value)%> <%=Server.HTMLEncode(SQL2.Fields("BBTime2").Value)%></i><br>

<%Set SQL3 = Server.CreateObject("ADODB.Recordset")
     sql = "SELECT BulletinBoard.PostID AS Post3, BulletinBoard.BBName AS BBName3, BulletinBoard.BBEmail AS BBEmail3, BulletinBoard.Subject AS Subject3, BulletinBoard.Message AS Message3, BulletinBoard.ResponseTo AS ResponseTo3, BulletinBoard.BBHomepageName AS BBHomepageName3, BulletinBoard.BBHomepageURL AS BBHomepageURL3, BulletinBoard.ImageURL AS ImageURL3, BulletinBoard.BBDate AS BBDate3, BulletinBoard.BBTime AS BBTime3 FROM BulletinBoard WHERE ResponseTo = "&Post2&" ORDER BY BBDate DESC"
SQL3.open sql, conn, 3, 3
If SQL3.eof = false then

%>

<%On Error Resume Next
SQL3.MoveFirst
do while Not SQL3.eof
Post3 = SQL3("Post3")
BBDate3 = SQL3("BBDate3")%>
 
<%If BBDate3 = Date() then%> 
     
       <img src="images/blank.gif" align="absmiddle" width="15" height="14">
       <img src="images/blank.gif" align="absmiddle" width="15" height="14">
       <img src="images/anibutton.gif" align="absmiddle" width="15" height="14">
<%ElseIf BBDate3 = (Date() -1 ) then%> 
        <img src="images/blank.gif" align="absmiddle" width="15" height="14">
        <img src="images/blank.gif" align="absmiddle" width="15" height="14">
        <img src="images/button.gif" align="absmiddle" width="15" height="14">
<%ElseIf BBDate3 = (Date() -2 ) then%> 
          <img src="images/blank.gif" align="absmiddle" width="15" height="14">
          <img src="images/blank.gif" align="absmiddle" width="15" height="14">
          <img src="images/button2.gif" align="absmiddle" width="15" height="14">
<%Else%>
            <img src="images/blank.gif" align="absmiddle" width="15" height="14">
            <img src="images/blank.gif" align="absmiddle" width="15" height="14">
            <img src="images/button3.gif" align="absmiddle" width="15" height="14">
<%end if%>
      
      <a href="ViewPost.asp?Post=<%=Post3%>"><%=Server.HTMLEncode(SQL3.Fields("Subject3").Value)%></a> - <a style="text-decoration: none; color: #C0C0C0;" href="mailto:<%=Server.HTMLEncode(SQL3.Fields("BBEmail3").Value)%>"><b><%=Server.HTMLEncode(SQL3.Fields("BBName3").Value)%></b></a><i> <%=Server.HTMLEncode(SQL3.Fields("BBDate3").Value)%> <%=Server.HTMLEncode(SQL3.Fields("BBTime3").Value)%></i><br>

<%Set SQL4 = Server.CreateObject("ADODB.Recordset")
     sql = "SELECT BulletinBoard.PostID AS Post4, BulletinBoard.BBName AS BBName4, BulletinBoard.BBEmail AS BBEmail4, BulletinBoard.Subject AS Subject4, BulletinBoard.Message AS Message4, BulletinBoard.ResponseTo AS ResponseTo4, BulletinBoard.BBHomepageName AS BBHomepageName4, BulletinBoard.BBHomepageURL AS BBHomepageURL4, BulletinBoard.ImageURL AS ImageURL4, BulletinBoard.BBDate AS BBDate4, BulletinBoard.BBTime AS BBTime4 FROM BulletinBoard WHERE ResponseTo = "&Post3&" ORDER BY BBDate DESC"
SQL4.open sql, conn, 3, 3
If SQL4.eof = false then

%>

<%On Error Resume Next
SQL4.MoveFirst
do while Not SQL4.eof
Post4 = SQL4("Post4")
BBDate4 = SQL4("BBDate4")%>

Sen fortsätter det i samma stil ett tag till

/Red: Koden är från 4guysfromrolla och det är ett helt diskussionsforum som jag gör om från Access till MySQL för att funka

@ndersMedlem sedan juni 200032 969 inlägg
#7

Du tycker inte att det kan passa att skapa ett recordset istället för att använda recordset-metoder och egenskaper direkt på en sträng som råkar innehålla en SQL-fråga?

WebbisNetMedlem sedan feb. 20032 027 inlägg
#8

@nders skrev:

Du tycker inte att det kan passa att skapa ett recordset istället för att använda recordset-metoder och egenskaper direkt på en sträng som råkar innehålla en SQL-fråga?

Det har du rätt i

Nu fick jag
[MySQL][ODBC 3.51 Driver][mysqld-4.0.25-max]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '()-90) ORDER BY BBDate DESC' at line 1

med
set SQL = objConn.Execute("SELECT BulletinBoard.PostID AS Post, BulletinBoard.BBName, BulletinBoard.BBEmail, BulletinBoard.Subject, BulletinBoard.ResponseTo, BulletinBoard.BBDate, BulletinBoard.BBTime FROM BulletinBoard WHERE ResponseTo = 0 AND BBDate >(Date()-90) ORDER BY BBDate DESC")

emissionMedlem sedan dec. 19996 721 inlägg
#9

Date() finns inte i MySQL, och jag tror inte att implicit datumsubtraktion fungerar, så ersätt Date()-90 med DATE_SUB(CURDATE(), INTERVAL 90 DAY)

WebbisNetMedlem sedan feb. 20032 027 inlägg
#10

TACK

vad är det här som mina trötta ögon missar

INSERT INTO BulletinBoard(PostID, BBName, BBEmail,Subject, Message, BBHomepageName, BBHomepageURL, ImageURL) VALUES(,'Stefan Ekström','stefan@webbisen.com','stefan@webbisen.com','testar','webbisen','webbisen.com','0')
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 3.51 Driver][mysqld-4.0.25-max]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''Stefan Ekström','stefan@webbisen.com','stefan@webbisen.com','t

/BB/Preview.asp, line 22

<%BBName = Request.Form("BBName") 
BBEmail = Request.Form("BBEmail")
Subject = Request.Form("Subject")
Message = Request.Form("Message")
ResponseTo = Request.Form("ResponseTo") 
BBHomepageName = Request.Form("BBHomepageName")
If BBHomepageName = "" OR IsNull(BBHomepageName) then BBHomepageName = "0" end if
BBHomepageURL = Request.Form("BBHomepageURL")
If BBHomepageURL = "" OR IsNull(BBHomepageURL) then BBHomepageURL = "0" end if
ImageURL = Request.Form("ImageURL")
If ImageURL = "" OR IsNull(ImageURL) then ImageURL = "0" end if

SET objConn = connect()

	addPost = "INSERT INTO BulletinBoard"
	addPost = addPost & "(PostID, BBName, BBEmail,Subject, Message, BBHomepageName, BBHomepageURL, ImageURL) "
	addPost = addPost & "VALUES("& PostID &",'"& BBName &"','"& BBEmail&"','"& Subject &"','"& Message &"','"& BBHomepageName &"','"& BBHomepageURL &"','"& ImageURL &"')"

	response.write addPost
	'response.end
	objConn.Execute(addPost)%>
WebbisNetMedlem sedan feb. 20032 027 inlägg
#11

emission skrev:

Date() finns inte i MySQL, och jag tror inte att implicit datumsubtraktion fungerar, så ersätt Date()-90 med DATE_SUB(CURDATE(), INTERVAL 90 DAY)

När vi ändå pratade om Date, hur ska jag då ändra denna rad (är till en annan fil)
objConn.Execute("update tblUsers set vip=1, vipTillDatum = DateAdd('d',30,date()) WHERE mobil = "& nr &"")

emissionMedlem sedan dec. 19996 721 inlägg
#12

WebbisNet skrev:

TACK

vad är det här som mina trötta ögon missar

PostID har inget värde

emissionMedlem sedan dec. 19996 721 inlägg
#13

Motsvarigheten till Dateadd i MySQL heter DATE_ADD

http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html

WebbisNetMedlem sedan feb. 20032 027 inlägg
#14

Nu har jag poster i db och inga felmeddelanden, MEN inget visas på sidan

<%set SQL = objConn.Execute("SELECT BulletinBoard.PostID AS Post, BulletinBoard.BBName, BulletinBoard.BBEmail, BulletinBoard.Subject, BulletinBoard.ResponseTo, BulletinBoard.BBDate, BulletinBoard.BBTime  FROM BulletinBoard  WHERE ResponseTo = 0 AND BBDate > DATE_SUB(CURDATE(), INTERVAL 90 DAY) ORDER BY BBDate DESC")
If SQL.eof = false then

On Error Resume Next
SQL.MoveFirst
do while Not SQL.eof
Post = SQL("Post")
BBDate = SQL("BBDate")
%>
 
<%If BBDate = DATE_SUB(CURDATE_SUB(CURDATE())) then%> 
     
      <img src="images/anibutton.gif" align="absmiddle">
<%ElseIf BBDate = (DATE_SUB(CURDATE()) -1 ) then%> 
       <img src="images/button.gif" align="absmiddle">
<%ElseIf BBDate = (DATE_SUB(CURDATE()) -2 ) then%> 
         <img src="images/button2.gif" align="absmiddle" width="15" height="14">
<%Else%>
           <img src="images/button3.gif" align="absmiddle" width="15" height="14">
<%end if%>
   
      <a href="ViewPost.asp?Post=<%=Server.HTMLEncode(SQL("Post"))%>"><%=Server.HTMLEncode(SQL("Subject"))%></a> 
- <a style="text-decoration: none; color: #C0C0C0;" href="mailto:<%=Server.HTMLEncode(SQL("BBEmail"))%>"><b><%=Server.HTMLEncode(SQL("BBName"))%></b></a><i> <%=Server.HTMLEncode(SQL("BBDate"))%> <%=Server.HTMLEncode(SQL("BBTime"))%></i><br>
WebbisNetMedlem sedan feb. 20032 027 inlägg
#15

emission skrev:

Motsvarigheten till Dateadd i MySQL heter DATE_ADD

http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html

Kan detta gå, ni som kan?

SELECT ADDDATE(CURDATE(), INTERVAL 30 DAY)

istället för
DateAdd('d',30,date())

emissionMedlem sedan dec. 19996 721 inlägg
#16

WebbisNet skrev:

Nu har jag poster i db och inga felmeddelanden, MEN inget visas på sidan

Du får inget felmeddelande, eftersom du har "On Error Resume Next" i koden

Du kan inte använda DATE_ADD och CURDATE i VBScript, som du gjort i if-satsen ovan

emissionMedlem sedan dec. 19996 721 inlägg
#17

WebbisNet skrev:

Verkar vara denna jag ska använda men hur skriver man

ADDDATE(date,INTERVAL expr type), ADDDATE(expr,days)

Förstår inte frågan...

Det finns massor av exempel på sidan jag länkade till

WebbisNetMedlem sedan feb. 20032 027 inlägg
#18

emission skrev:

Förstår inte frågan...

Det finns massor av exempel på sidan jag länkade till

Förlåt, skrev visst fel

Kan detta gå, ni som kan?

SELECT ADDDATE(CURDATE(), INTERVAL 30 DAY)

istället för
DateAdd('d',30,date())

emissionMedlem sedan dec. 19996 721 inlägg
#19

Jajamen! (y)

WebbisNetMedlem sedan feb. 20032 027 inlägg
#20

emission skrev:

Du får inget felmeddelande, eftersom du har "On Error Resume Next" i koden

Du kan inte använda DATE_ADD och CURDATE i VBScript, som du gjort i if-satsen ovan

Hur skulle du skriva då emission ;-)

138 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)