Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 20:22 Der er 42 kommentarer og
1 løsning

Check om felt er tomt

Hejsa..
Jeg skal have checket om et felt er tomt, det gør jeg med denne kode:

strSQL = "SELECT * FROM cw_forum_ind WHERE svarid = '" & request.form("ind") & "'"
set indMail = Conn.Execute(strSQL)

if indMail("Mails") <> "" then

else

end if


Men det virker ikke.. Der kommer denne fejl:

error '80020009'
Exception occurred.

/forum/besvar.asp, line 90


Line 90 er denne linie:
if indMail("Mails") <> "" then

fatter ikk lige hvad problemet er, håber i kan hjælpe mig :)

/Bio
Avatar billede hmortensen Nybegynder
02. oktober 2004 - 20:25 #1
sikker på dit felt hedder Mails i tabellen ?
Avatar billede eagleeye Praktikant
02. oktober 2004 - 20:25 #2
Hvis der ikke er en post der passer vil recordsetet være tomt, EOF er true.

if not indMail.EOF then

else

end if
Avatar billede Slettet bruger
02. oktober 2004 - 20:33 #3
Prøv med IsNull

if not IsNull(indMail("Mails")) then
  if indMail("Mails") <> "" then

  else

  end if
End if
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 22:47 #4
hejsa..
Jeg har prøvet med IsNull, det virker desværre ikke.. Ellers er det bare mig der laver noget forkert :/
I kan lige få min kode:

if not IsNull(indMail("Mails")) then
if indMail("Mails") <> "" then

strMails = indMail("Mails")

strarray = Split(strMails," ")

For i = LBound(strarray) To UBound(strarray)

MyMail = session("email")

if MyMail <> strarray(i) then

if strarray(i) = "" then

else

'response.write "ikke den valgte mail adresse: ->" & strarray(i) & "<-<br>"

'VORES MAIL ER IKKE FUNDET

end if

else

'response.write "<b>Det er den valgte mail adresse: ->" & strarray(i) & "<-</b><br>"

tjek = "yes"

'VORES MAIL ER FUNDET, SÆT VÆRDIEN AF TJEK TIL 'YES'

end if

Next

'indMail er intet!

else

end if
end if


håber i kan se hovede og hale i koden :/

/Bio
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 22:48 #5
hindu_skp: Ja der er et felt der hedder mails, og ja det er stavet korrekt, har checket efter ;)

eagleeye: Det er kun feltet Mails der er tomt..
Avatar billede eagleeye Praktikant
02. oktober 2004 - 22:50 #6
Er det så første sted i koden på den side du bruger indMail("Mails") ?
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 22:52 #7
ja... det er første sted/gang den siger fejl.. Men selve koden er i midten af filen (linje 90)
Avatar billede eagleeye Praktikant
02. oktober 2004 - 22:53 #8
Ok, men har du en linje med indMail("Mails") i før linje 90?
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 22:56 #9
nope...
Avatar billede eagleeye Praktikant
02. oktober 2004 - 22:58 #10
ok, så prøv at skrive de kolonner du skal bruge og de som er notat kolonne skrives lige før FROM, eksemålevis sådan her:

strSQL = "SELECT svarid, navn, efternavn, mails FROM cw_forum_ind WHERE svarid = '" & request.form("ind") & "'"
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 23:04 #11
virker ikke :(
Avatar billede eagleeye Praktikant
02. oktober 2004 - 23:09 #12
Du bruger vel ikke mysql?
Hvis prøv at vise din connectionstring, husk at fjerne password og username hvis det står direkt i strengen :)
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 23:10 #13
hmm... mystisk... det virker nu... men den opdatere ikke db'en rigtigt :S den indsætter ikke alle de gamle mail adresser som står i db'en. Den indsætter KUN ens egen mail, og sletter de andre... Jeg vil gerne give 30 extra point, hvis i kan hjælpe med det problem

Koden er:
strSQL = "SELECT Mails FROM cw_forum_ind WHERE svarid = '" & request.form("ind") & "'"
set indMail = Conn.Execute(strSQL)

strMail = indMail("Mails")
MyMail = session("email")

eMail = strMail & MyMail & " "

strSQL = "UPDATE cw_forum_ind SET Mails = '" & eMail & "' WHERE id = " & request.form("ind")
Conn.Execute(strSQL)

/Bio
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 23:13 #14
jo jeg bruger MySQL :)
Min connection, som virker over alt på hele siden ;):

SQLserveradr="****.wan******.dk"
SQLdatabase="case_modding****"
SQLlogin="*********"
SQLpassword="*********"

Set Conn = Server.CreateObject("ADODB.Connection")

conStr = "driver={MySql};server="& SQLserveradr &";database="& SQLdatabase
conStr = conStr & ";uid="& SQLlogin &";pwd="& SQLpassword & ";OPTION=16386"

Conn.Open conStr
Avatar billede eagleeye Praktikant
02. oktober 2004 - 23:14 #15
Umiddelbart er der to ting:
1. i denne linje: 
eMail = strMail & MyMail & " "

Der skal måske lige et skilletegn ind imellem o gikke til sidst:

eMail = strMail &" "& MyMail

2. ting du bruger svarid i første SQL men id i anden SQL sætning, er det bevidst?
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 23:23 #16
1. Nope.. Der skal mellemrum til sidst.. Det er meningen.. pga jeg har en split der splitter mellem mellemrum...

2. UPS :D:D:D Der var fejlen vist ;)
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 23:28 #17
hmmm :S Ny fejl.. Bare i en anden af scriptet, mail afsendingen :S
Avatar billede eagleeye Praktikant
02. oktober 2004 - 23:33 #18
1. Nope.. Der skal mellemrum til sidst.. Det er meningen.. pga jeg har en split der splitter mellem mellemrum...

Ja ok, men du ligger split karakter til sidst i strengen og ikke imellem to ting.
Eks hvis strMail ="A"  og MyMail = "B" giver eMail = strMail & MyMail & " ":
eMail = "AB "
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 23:36 #19
ikk helt.. pga strMail = "A " og MyMail = "B"
dvs:
eMail = "A B "
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 23:36 #20
har gjort så der altid er et mellemrum i slutningen af tabellen..
Avatar billede eagleeye Praktikant
02. oktober 2004 - 23:37 #21
Arh ok ;)
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 23:38 #22
nemmerlig :)
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 23:38 #23
men har du tid til at hjælpe med næste problem?? Kan godt sætte point'ene op igen hvis det er ...
Avatar billede eagleeye Praktikant
02. oktober 2004 - 23:40 #24
Jo, men i første omgang må du prøve at beskrive fejlen eller fejl koden :)
og ikke bare "hmmm :S Ny fejl.... "
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 23:41 #25
ville jo ikk bare kaste tingene lige i hovedet af dig hvis du ikk havde tid :)
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 23:42 #26
Fejlen kommer her:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'msg.AddRecipient'

/forum/besvar.asp, line 219


strSQL = "SELECT * FROM cw_forum_ind WHERE id = '" & request.form("ind") & "'"
Set forum = Conn.Execute(strSQL)

strSQL = "SELECT navn, email FROM cw_brugere WHERE email = '" & strArray(i) & "'"
set Usr = Conn.Execute(strSQL)

SendMail = [bare en masse html koder]

Set msg = Server.CreateObject("SMTPsvg.Mailer")
                    msg.RemoteHost = "pasmtp.tele.dk"
                    msg.CharSet = 2
                    msg.EncodeHeader "8bit"
                    msg.ContentType = "text/html"

                    msg.FromName = "Case-Modding.dk"
                    msg.FromAddress = "noreply@case-modding.dk"
                    msg.AddRecipient usr("navn"), usr("email")
                    msg.Subject = "Svar i tråden '" & (forum("titel")) & "'!"
                    msg.BodyText = SendMail

                    if not msg.SendMail then
                        Response.Write "Fejl i mail-afsendelse... Prøv igen senere<br>"
                        response.Write msg.Response
                    else
'emailen er afsendt uden problemer!

                end if

                        Set msg = nothing
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 23:43 #27
msg.AddRecipient usr("navn"), usr("email")

fejlen er i denne linie :S har kigget i db'en, og der burde ikke være nogle ugyldige tegn eller noget :/
Avatar billede eagleeye Praktikant
02. oktober 2004 - 23:43 #28
Det kunne betyde at navn eller email adresse ikke er udfyldt du kan evt. prøve at skrive det sådan her:

msg.AddRecipient ""&usr("navn"), usr("email")
Avatar billede biohazard_666 Nybegynder
02. oktober 2004 - 23:46 #29
Ny fejl:

error '80020009'
Exception occurred.

/forum/besvar.asp, line 219


Det er seriøst min hade-fejl, bare for at du ved det ;)
Den der fejl gør et eller andet ved mig som ikke er godt :@ ;)
Avatar billede eagleeye Praktikant
02. oktober 2004 - 23:58 #30
Det et problem med mysql, det er set før på eksperen og umiddelbart er din connection string som den "skal" være.  En måde kunne være at sikre kolonnen navn er udfyldt.
Avatar billede eagleeye Praktikant
03. oktober 2004 - 00:03 #31
Eller prøve at bygge IF sætning ind i sql sætningen
http://dev.mysql.com/doc/mysql/en/Control_flow_functions.html

select email, IF(isNull(navn),' ',navn) as fnavn, ...
Avatar billede biohazard_666 Nybegynder
03. oktober 2004 - 00:06 #32
har lige checket begge felter i db'en :S og de er fyldt ud som de skal være :S
Avatar billede eagleeye Praktikant
03. oktober 2004 - 00:07 #33
hvordan fik du den væk før?
Avatar billede biohazard_666 Nybegynder
03. oktober 2004 - 00:09 #34
har fundet ud af at det er navnet den er gal med :S
msg.AddRecipient usr("nick"), strarray(i)
det virker hvis jeg skriver:
msg.AddRecipient "BioHazard", strarray(i)
Avatar billede biohazard_666 Nybegynder
03. oktober 2004 - 00:42 #35
kan ikk huske hvordan jeg fik den anden væk :S
Avatar billede biohazard_666 Nybegynder
03. oktober 2004 - 01:01 #36
eller rettere sagt, jeg ved ikk hvordan
Avatar billede biohazard_666 Nybegynder
03. oktober 2004 - 01:27 #37
Det mystiske er at hvis jeg skriver:

msg.AddRecipient "Bruger", strarray(i)

virker det helt fint...
Avatar billede eagleeye Praktikant
03. oktober 2004 - 10:45 #38
Har du det loop hvor du henter brugernavnet et ad gangen med denne sql sætning?
strSQL = "SELECT navn, email FROM cw_brugere WHERE email = '" & strArray(i) & "'"
Avatar billede eagleeye Praktikant
03. oktober 2004 - 10:47 #39
Hvis du har et loop/for så prøv at lukke usr recordsetet, der hvor du setter msg=nothing:


Set msg = nothing
Usr.Close
Set Usr =nothing



Prøv evt at tilføje denne lige før den før vist SQL sætning:
set usr=server.createobject("ADODB.Recordset")
Avatar billede biohazard_666 Nybegynder
12. oktober 2004 - 18:20 #40
sorry jeg var lang tid om at svare, men det virker desværre ikke :(
Jeg har prøvet dette:

test-nick = Usr("nick") <- DETTE
msg.AddRecipient test-nick, strarray(i)

Nu kommer denne fejl:
error '80020009'
Exception occurred.

/forum/besvar.asp, line 217

Håber du stadig har mod på at hjælpe :)

/Bio
Avatar billede biohazard_666 Nybegynder
12. oktober 2004 - 18:39 #41
ved ikk lige hva jeg gjorde, men det virker i hvertfald nu :/
men tak for hjælpen alligevel :)
Hvis du vil have point, så smid et svar :)

/Bio
Avatar billede eagleeye Praktikant
12. oktober 2004 - 18:41 #42
Ok her et svar ;)
Avatar billede biohazard_666 Nybegynder
12. oktober 2004 - 18:52 #43
og her er point ;)
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