Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Wrong number of arguments or invalid property assignment: 'rs'

Postades av 2005-11-25 09:12:56 - Magnus Cederlund, i forum asp - allmänt, Tråden har 12 Kommentarer och lästs av 711 personer

Hej!

Jag försöker förtvivlat få följande script att dra mailadresser ur databasen och sätta in dem i Mail.To men får följande fel:

Error Type:
Microsoft VBScript runtime (0x800A01C2)
Wrong number of arguments or invalid property assignment: 'rs'

Här är scriptet:

<%
SQL = "SELECT EMail FROM test"
rs.Open SQL, Connection, adOpenStatic, adLockOptimistic

Do while NOT rs.EOF
rs("EMail")

Set Mail = Server.CreateObject("CDONTS.NewMail")
Mail.To = rs("EMail") & ";"
rs.movenext
loop
Mail.From = "mailaddress@example.com"
Mail.Subject = Request.Form("1")
Mail.Body = Request.Form("2")
Mail.Send
response.redirect "mail.asp"
%>

Om jag direkt specar en eller fler adresser separerat med ; så fungerar det alldeles utmärkt, men den vill inte ta min syntax av någon anledning. Det kanske är så enkelt att CDONTS inte kan hantera formatet, men jag är osäker.

Form("1") och Form("2") innehåller ämne och text från sidan som skickas till detta script.

Är det någon som har något tips?

Mvh/Magnus


Svara

Sv: Wrong number of arguments or invalid property assignment: 'rs'

Postades av 2005-11-25 09:22:56 - Fredrik Svanberg

På raden efter "Do while NOT rs.EOF" där det står

rs("EMail")

alldeles för sig själv... ta bort den raden så kanske det funkar bättre.


Svara

Sv: Wrong number of arguments or invalid property assignment: 'rs'

Postades av 2005-11-25 09:26:18 - Anna-Karin Söderberg

rs("EMail") = Där är felet du har inte tilldelat någon variabel värdet på rs.

Sen skulle jag lägga in lite felkontroll, kolla om RS.EOF innan jag loopar, samma sak med ärendet, kolla att det finns något ärende innan jag loopar.


//Anna-Karin


Svara

Sv:Wrong number of arguments or invalid property assignment: 'rs'

Postades av 2005-11-25 09:39:53 - Magnus Cederlund

Fredrik:
OK. Jag tog bort den raden och nu går scriptet igenom. Problemet är nu att mailet inte kommer fram :o)
Alltid kul att stöta på nya problem när ett annat är löst.


Svara

Sv:Wrong number of arguments or invalid property assignment: 'rs'

Postades av 2005-11-25 09:46:50 - Magnus Cederlund

Anna-Karin:

Jag är lite osäker på vad du menar. Kan du ge mig ett litet exempel så jag får mindre otur när jag tänker :o)


Svara

Sv:Wrong number of arguments or invalid property assignment: 'rs'

Postades av 2005-11-25 13:50:43 - Magnus Cederlund

Om du med felkontroll menar att jag ska kolla ärendet och textinnehållet så har jag redan ordnat det vilket fungerar bra enligt följande:

<%
If Request.Form("1") = "" Then%>

<center>

<font face="Arial" size="2"><b>Skicka gruppmail</b></font>

<p>

<form name="Send" ACTION="mailsend.asp" target="_self" input type="hidden" METHOD="POST">

<center><b><font face="Arial" size="2" color = "blue">Ämne</font></b></center>
<left><font face="Arial" size="2"><input type="text" value="Inget ämne är angett!" size="52"style="vertical-align: middle; text-align: left" name="1"></font></left>

<center><b><font face="Arial" size="2" color = "blue">Text</font></b></center>
<left><font face="Arial" size="2"><textarea name="2" cols="50" rows="10" wrap="virtual"><%=Request.Form("2")%></textarea></font></left>

<p>

<font face="Arial" size="2">
<input type="submit" value="Skicka">
</font>
</form>
</center>

<%
ElseIF Request.Form("2") = "" Then%>

<center>

<font face="Arial" size="2"><b>Skicka gruppmail</b></font>

<p>

<form name="Send" ACTION="mailsend.asp" target="_self" input type="hidden" METHOD="POST">

<center><b><font face="Arial" size="2" color = "blue">Ämne</font></b></center>
<left><font face="Arial" size="2"><input type="text" value="<%=Request.Form("1")%>" size="52"style="vertical-align: middle; text-align: left" name="1"></font></left>

<center><b><font face="Arial" size="2" color = "blue">Text</font></b></center>
<left><font face="Arial" size="2"><textarea name="2" cols="50" rows="10" wrap="virtual">Texten saknas!</textarea></font></left>

<p>

<font face="Arial" size="2">
<input type="submit" value="Skicka">
</font>
</form>
</center>

<%
Else

SQL = "SELECT EMail FROM test"
rs.Open SQL, Connection, adOpenStatic, adLockOptimistic

Set Mail = Server.CreateObject("CDONTS.NewMail")
Do while NOT rs.EOF
Mail.To = rs("EMail")
rs.movenext
loop
'Mail.Cc = "reciep2"
Mail.From = "noreply@mail.se"
Mail.Subject = Request.Form("1")
Mail.Body = Request.Form("2")
Mail.Send
response.redirect "mail.asp"
End If
End If
%>

Problemet jag nu stöter på verkar vara att det saknas adress för några personer i listan och presenteras det enligt följande om jag kör en check på det:

någon@mail.se; ; en_annan@mail.se

Normalt sett så separerar man ju adressaterna med ett ; mellan varje adress, men om det kommer två ;; eller ; ; så antar jag att CDONTS inte kan hantera det.

Jag skulle egentligen behöva en liten sak som kollar om det finns någonting i alla adressfält och om inte ersätter det med tx. noreply@mail.se

Jag har försökt med lite olika varianter men får inte till det. det blev till och med så att alla adresser jag hade ersattes med noreply@mail.se i samtliga poster. Tur man har backup!

Jag trodde inte att poster ersattes om man inte satte rs.update men jag kanske har fel.

Jag kanske ska tillägga att jag körde en IF-sats för att kolla innehållet enligt följande:

<%
SQL = "SELECT EMail, EMail2 FROM test"
rs.Open SQL, Connection, adOpenStatic, adLockOptimistic

If rs("EMail") = "" Then
rs("EMail") = "noreply@mail.se"
ElseIf rs("EMail2") = "" Then
rs("EMail2") = "noreply@mail.se"
End If

Do while NOT rs.EOF
%>

<%=rs("EMail")%>;
<%=rs("EMail2")%>;

<%
rs.movenext
loop
%>

Resultatet blev som sagt att alla adresser presenterades som noreply@mail.se och ersattes med detta i DB.


Svara

Sv: Wrong number of arguments or invalid property assignment: 'rs'

Postades av 2005-11-25 18:30:21 - Andreas Hillqvist

Har du deklarerat, inkluderat konstanterna adOpenStatic och adLockOptimistic?


Svara

Sv:Wrong number of arguments or invalid property assignment: 'rs'

Postades av 2005-11-25 21:54:53 - Magnus Cederlund

Ja


Svara

Sv:Wrong number of arguments or invalid property assignment: 'rs'

Postades av 2005-11-25 21:55:19 - Magnus Cederlund

Ja det har jag, eller, kanske inte deklarerat men inkluderat.


Svara

Sv: Wrong number of arguments or invalid property assignment: 'rs'

Postades av 2005-11-27 12:39:27 - Pelle Johansson

wrong number of arguments brukar tyda på att du inte skickar in sql-koden rätt. kan också bero på att du har en lagrad procedur som skall ta emot 4 parametrar men du skickar bara in 3 eller kanske 5.

Sen om det inte finns några poster skall du kolla det med en if-sats innan du försöker nå objekten också, annars kan det med smälla, ex:

<code>
SQL = "SELECT EMail, EMail2 FROM test"
rs.Open SQL, Connection, adOpenStatic, adLockOptimistic

if not rs.eof
If rs("EMail") = "" Then
rs("EMail") = "noreply@mail.se"
ElseIf rs("EMail2") = "" Then
rs("EMail2") = "noreply@mail.se"
End If
end if
Do while NOT rs.EOF
%>

<%=rs("EMail")%>;
<%=rs("EMail2")%>;

<%
rs.movenext
loop
%>
</code>

Sen kan du hoppa över det där med rs.open, testa istället:

<code>
set con = server.createobject("adodb.connection")
con.open "minconnectionsträng"

set rs1 = con.execute("select * from tabell1")
set rs2 = con.execute("select * from tabell2")

set rs1 = nothing
set rs2 = nothing
con.close
set con = nothing
</code>


Svara

Sv:Wrong number of arguments or invalid property assignment: 'rs'

Postades av 2005-11-28 21:56:32 - Andreas Hillqvist

Pelle, varför stänger du inte rdina recordset?

Borde vara:

Sen kan du hoppa över det där med rs.open, testa istället:

<code>
set con = server.createobject("adodb.connection")
con.open "minconnectionsträng"

set rs1 = con.execute("select * from tabell1")
set rs2 = con.execute("select * from tabell2")

rs1.close
set rs1 = nothing

rs2.close
set rs2 = nothing

con.close
set con = nothing
</code>


Svara

Sv:Wrong number of arguments or invalid property assignment: 'rs'

Postades av 2005-11-30 09:23:10 - Magnus Cederlund

Hmm. Hur jag än försöker får jag inte till det.

Min dbconn inkluderar jag på samtliga filer som ska nå databasen
<!-- #include file="scripts/dbconn.asp" -->
och den ser ut på följande sätt:

<%
Set Connection = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
DSN="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN=dsn & "DBQ=" & Server.MapPath("../../katalog/databas.mdb")
Connection.Open DSN
%>

Jag försökte enligt Pelles tänk att göra på följande sätt i stället och skrev då direkt på slask.asp som min testsida heter:

<!-- #include file="scripts/adovbs.asp" -->

<%
Set Con = Server.CreateObject("ADODB.Connection")
DSN="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN=dsn & "DBQ=" & Server.MapPath("../../katalog/databas.mdb")
Con.Open DSN, adOpenStatic, adLockOptimistic
%>

<%
set rs = con.execute("SELECT EMail, EMail2 FROM test")

if not rs.eof Then
If rs("EMail") = "" Then
rs("EMail") = "noreply@mail.se"
ElseIf rs("EMail2") = "" Then
rs("EMail2") = "noreply@mail.se"
End If
End If
Do while NOT rs.EOF
%>

<%=rs("EMail")%>;<br>
<%=rs("EMail2")%>;<br>

<%
rs.movenext
loop

rs.close
set rs = nothing

con.close
set con = nothing
%>

Anledningen till att jag kör med rs och inte rs1, rs2 osv. är att jag ska ju bara öppna poster mot en tabell, men jag tror jag förstår poängen med det.

Resultatet av körningen blir:

;
;
magnus.cederlund@teliasonera.com;
;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
;
;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
swemcd@hotmail.com;
;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
mankan@gof.se;
magnus.cederlund@teliasonera.com;
;

Man ser att det saknas 10 adresser i databasen enligt sidans output, men det stämmer inte eftersom det i databasen endast är 8 adresser som saknas.

man kan även tycka att de adresser som saknas borde ha ersatts med noreply@mail.com enligt ovan, men så har inte skett.

Anledningen till att det är samma adresser som upprepas är att jag kör mot en test-DB och har petat in några av mina adresser, men principen borde ju vara densamma.

Har jag extremt mycket otur när jag tänker nu eller?


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 602
27 953
271 705
270
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies