|
"Loop" without "Do"
Hi,
I'm getting a "Loop without Do" error message for this script.
I'm guessing that the problem is that if there's nothing to insert, then the script doesn't "Do" anything (except create a couple of recordsets). If this is correct, could someone please tell me what to do about it? If this is incorrect, then could someone please tell me where I'm going wrong?
vb Code:
Original
- vb Code |
|
|
|
Dim MM_lococon_STRING Dim rs_emails_not_created MM_lococon_STRING = "driver={MySQL ODBC 3.51 Driver};option=16387;server=my_server_ip;user=my_u sername;password=my_password;DATABASE=my_db;" ' select all messages for which emails have not been created Set rs_emails_not_created = Wscript.CreateObject("ADODB.Recordset") rs_emails_not_created.ActiveConnection = MM_lococon_STRING rs_emails_not_created.Source = "SELECT loco_message.id AS message_id, loco_message.user_id AS sender_id, loco_message.send_option AS send_option loco_message.community_id AS community_id FROM loco_message WHERE loco_message.service_id='1' AND loco_message.emails_created='N'" rs_emails_not_created.CursorType = 0 rs_emails_not_created.CursorLocation = 2 rs_emails_not_created.LockType = 1 rs_emails_not_created.Open() rs_emails_not_created_numRows = 0 if NOT rs_emails_not_created.EOF then do while NOT rs_emails_not_created.EOF dim message dim sender_id dim message_id dim send_option dim community_id message="" if NOT rs_emails_not_created.eof then message=rs_emails_not_created("message") end if sender_id="" if NOT rs_emails_not_created.eof then sender_id=rs_emails_not_created("sender_id") end if message_id="" if NOT rs_emails_not_created.eof then message_id=rs_emails_not_created("message_id") end if send_option="" if NOT rs_emails_not_created.eof then send_option=rs_emails_not_created("send_option") end if community_id="" if NOT rs_emails_not_created.eof then community_id=rs_emails_not_created("community_id") end if Set rs_recipient = Wscript.CreateObject("ADODB.Recordset") rs_recipient.ActiveConnection = MM_lococon_STRING rs_recipient.Source = "SELECT loco_keywords.keyword_id AS keyword_id, loco_keyword.user_id AS recipient_id, loco_keywords.keyword AS keyword, loco_keywords.receive_option AS receive_option FROM loco_keywords WHERE loco_keywords.service_id='1' AND loco_keywords.deleted='N' AND loco_keywords.user_id IN (SELECT loco_register.id FROM loco_register WHERE loco_register.user_conf='Y' AND loco_register.deleted='N') AND loco_keywords.user_id NOT IN (SELECT loco_register.id FROM loco_register WHERE loco_register.email_conf='N' AND loco_register.mobmail_conf='N') AND loco_keywords.user_id NOT IN (SELECT loco_blacklist.blacklisted_user_id FROM loco_blacklist WHERE loco_blacklist.user_id='"& sender_id &"' AND loco_blacklist.service_id='1' AND loco_blacklist.deleted='N') AND loco_keywords.user_id NOT IN (SELECT loco_blacklist.user_id FROM loco_blacklist WHERE loco_blacklist.blacklisted_user_id='"& sender_id &"' AND loco_blacklist.service_id='1' AND loco_blacklist.deleted='N') AND loco_keywords.user_id<>'"& sender_id &"'" rs_recipient.CursorType = 0 rs_recipient.CursorLocation = 2 rs_recipient.LockType = 1 rs_recipient.Open() rs_recipient_numRows = 0 if NOT rs_recipient.EOF then do while NOT rs_recipient.EOF dim receive_option dim recipient_id dim keyword_id dim keyword receive_option="" if NOT rs_recipient.eof then receive_option=rs_recipient("receive_option") end if recipient_id="" if NOT rs_recipient.eof then recipient_id=rs_recipient("recipient_id") end if keyword_id="" if NOT rs_recipient.eof then keyword_id=rs_recipient("keyword_id") end if keyword="" if NOT rs_recipient.eof then keyword=rs_recipient("keyword") end if if instr(1, lcase(message) , lcase(keyword)) > 0 then Set rs_email_log_exists = Wscript.CreateObject("ADODB.Recordset") rs_email_log_exists.ActiveConnection = MM_lococon_STRING rs_email_log_exists.Source = "SELECT id FROM loco_email_log WHERE loco_email_log.user_id='"& recipient_id &"' AND loco_email_log.keyword_id='"& keyword_id &"' AND loco_email_log.message_id='"& message_id &"'" rs_email_log_exists.CursorType = 0 rs_email_log_exists.CursorLocation = 2 rs_email_log_exists.LockType = 1 rs_email_log_exists.Open() rs_email_log_exists_numRows = 0 if email_log_exists.EOF then Set rs_MySQLDateTimeStringNOW = Wscript.CreateObject("ADODB.Recordset") rs_MySQLDateTimeStringNOW.ActiveConnection = MM_lococon_STRING rs_MySQLDateTimeStringNOW.Source = "SELECT NOW()+0" rs_MySQLDateTimeStringNOW.CursorType = 0 rs_MySQLDateTimeStringNOW.CursorLocation = 2 rs_MySQLDateTimeStringNOW.LockType = 1 rs_MySQLDateTimeStringNOW.Open() rs_MySQLDateTimeStringNOW_numRows = 0 dim MySQLDateTimeStringNOW MySQLDateTimeStringNOW="" if NOT rs_MySQLDateTimeStringNOW.eof then MySQLDateTimeStringNOW=rs_MySQLDateTimeStringNOW("NOW()+0") end if Set rs_same_community = Wscript.CreateObject("ADODB.Recordset") rs_same_community.ActiveConnection = MM_lococon_STRING rs_same_community.Source = "SELECT loco_community.id FROM loco_community WHERE loco_community.deleted='N' AND loco_community.id IN (SELECT loco_membership.community_id FROM loco_membership WHERE loco_membership.community_id = '"& community_id &"' AND loco_membership.user_id='"& sender_id &"' AND loco_membership.service_id='1' AND loco_membership.deleted='N') AND loco_community.id IN (SELECT loco_membership.community_id FROM loco_membership WHERE loco_membership.community_id = '"& community_id &"' AND loco_membership.user_id='"& recipient_id &"' AND loco_membership.service_id='1' AND loco_membership.deleted='N')" rs_same_community.CursorType = 0 rs_same_community.CursorLocation = 2 rs_same_community.LockType = 1 rs_same_community.Open() Set rs_friends_same_community = Wscript.CreateObject("ADODB.Recordset") rs_friends_same_community.ActiveConnection = MM_lococon_STRING rs_friends_same_community.Source = "SELECT loco_community.id FROM loco_community WHERE loco_community.deleted='N' AND loco_community.id IN (SELECT loco_membership.community_id FROM loco_membership WHERE loco_membership.community_id = '"& community_id &"' AND loco_membership.user_id='"& sender_id &"' AND loco_membership.service_id='1' AND loco_membership.deleted='N') AND loco_community.id IN (SELECT loco_membership.community_id FROM loco_membership WHERE loco_membership.community_id = '"& community_id &"' AND loco_membership.user_id='"& recipient_id &"' AND loco_membership.service_id='1' AND loco_membership.deleted='N') AND loco_community.id IN (SELECT loco_friend.community_id FROM loco_friend WHERE loco_friend.user_id='"& sender_id &"' AND loco_friend.friend_user_id='"& recipient_id &"' AND loco_friend.community_id='"& community_id &"' AND loco_friend.deleted='N') AND loco_community.id IN (SELECT loco_friend.community_id FROM loco_friend WHERE loco_friend.user_id='"& recipient_id &"' AND loco_friend.friend_user_id='"& sender_id &"' AND loco_friend.community_id='"& community_id &"' AND loco_friend.deleted='N')" rs_friends_same_community.CursorType = 0 rs_friends_same_community.CursorLocation = 2 rs_friends_same_community.LockType = 1 rs_friends_same_community.Open() rs_friends_same_community_numRows = 0 Set rs_friends = Wscript.CreateObject("ADODB.Recordset") rs_friends.ActiveConnection = MM_lococon_STRING rs_friends.Source = "SELECT loco_community.id IN (SELECT loco_friend.community_id FROM loco_friend WHERE loco_friend.user_id='"& sender_id &"' AND loco_friend.friend_user_id='"& recipient_id &"' AND loco_friend.community_id='"& community_id &"' AND loco_friend.deleted='N') AND loco_community.id IN (SELECT loco_friend.community_id FROM loco_friend WHERE loco_friend.user_id='"& recipient_id &"' AND loco_friend.friend_user_id='"& sender_id &"' AND loco_friend.community_id='"& community_id &"' AND loco_friend.deleted='N')" rs_friends.CursorType = 0 rs_friends.CursorLocation = 2 rs_friends.LockType = 1 rs_friends.Open() rs_friends_numRows = 0 Set rs_friends_friends = Wscript.CreateObject("ADODB.Recordset") rs_friends_friends.ActiveConnection = MM_lococon_STRING rs_friends_friends.Source = "SELECT loco_register.id FROM loco_register WHERE loco_register.id IN ((SELECT loco_register.id FROM loco_register WHERE loco_register.id IN (SELECT loco_friend.friend_user_id FROM loco_friend WHERE loco_friend.user_id='"& sender_id &"' AND loco_friend.deleted='N') AND loco_register.id IN (SELECT loco_friend.user_id FROM loco_friend WHERE loco_friend.friend_user_id='"& sender_id &"' AND loco_friend.deleted='N')) AND loco_register.id IN ((SELECT loco_register.id FROM loco_register WHERE loco_register.id IN (SELECT loco_friend.friend_user_id FROM loco_friend WHERE loco_friend.user_id='"& recipient_id &"' AND loco_friend.deleted='N') AND loco_register.id IN (SELECT loco_friend.user_id FROM loco_friend WHERE loco_friend.friend_user_id='"& recipient_id &"' AND loco_friend.deleted='N')))" rs_friends_friends.CursorType = 0 rs_friends_friends.CursorLocation = 2 rs_friends_friends.LockType = 1 rs_friends_friends.Open() rs_friends_friends_numRows = 0 if send_option="2" and receive_option="2" then if NOT rs_same_community.EOF then Set MM_email_log_insertCmd = Wscript.CreateObject("ADODB.Command") MM_email_log_insertCmd.ActiveConnection = MM_lococon_STRING MM_email_log_insertCmd.CommandText = ("INSERT INTO loco_email_log (user_id, keyword_id, message_id, sent, timedate) VALUES ('"& recipient_id &"','"& keyword_id &"','"& message_id &"','N','"& MySQLDateTimeStringNOW &"')") MM_email_log_insertCmd.Execute MM_email_log_insertCmd.ActiveConnection.Close end if end if if send_option="2" and receive_option="3" then if NOT rs_friends_same_community.EOF then Set MM_email_log_insertCmd = Wscript.CreateObject("ADODB.Command") MM_email_log_insertCmd.ActiveConnection = MM_lococon_STRING MM_email_
|