Solved

How to do a dynamic loop in a sql insert statement using ASP classic?

Posted on 2009-05-03
9
376 Views
Last Modified: 2012-05-06
Hi,

I'm trying to do a dynamic loop to insert some data in the DB, but I'm getting no success. The code follows below, and the error message I get is something like:

error 800a000d
Type incompatible: 'SS_Busca_Usuario_Default_'

I think is not being attributed any value to the (x) variable inside the looping, and I don't know what's wrong, any ideas?

Thanks



Dim x
x=1
for x = 1 to 5
 
SS_Busca_Usuario_Default_(x) = "Select ud_nome from users_default WHERE ud_nome = '"& ud_login_(x) &"'"
Set RS_Busca_Usuario_Default_(x) = conn.execute(SS_Busca_Usuario_Default_(x))
 
next

Open in new window

0
Comment
Question by:marcoloppo
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
  • 2
9 Comments
 
LVL 52

Expert Comment

by:Ryan Chong
ID: 24292928
try:

Dim x(5)
x=1
for x = 1 to 5
 
SS_Busca_Usuario_Default_(x) = "Select ud_nome from users_default WHERE ud_nome = '"& ud_login_(x) &"'"
Set RS_Busca_Usuario_Default_(x) = conn.execute(SS_Busca_Usuario_Default_(x))
 
next
0
 
LVL 52

Accepted Solution

by:
Ryan Chong earned 300 total points
ID: 24292954
sorry, should be:

Dim SS_Busca_Usuario_Default_(5)
x=1
for x = 1 to 5
 
SS_Busca_Usuario_Default_(x) = "Select ud_nome from users_default WHERE ud_nome = '"& ud_login_(x) &"'"
Set RS_Busca_Usuario_Default_(x) = conn.execute(SS_Busca_Usuario_Default_(x))
 
next
0
 
LVL 52

Assisted Solution

by:Ryan Chong
Ryan Chong earned 300 total points
ID: 24292956
You may added this as well:

Dim RS_Busca_Usuario_Default_(5)
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 52

Expert Comment

by:Ryan Chong
ID: 24293471
by the way, "Select ud_nome from users_default WHERE ud_nome = '"& ud_login_(x) &"'" is not an insert SQL statement..
0
 
LVL 6

Expert Comment

by:JoachimMartinsen
ID: 24293589
What is ud_login_(x)? What type is it, and when and where does it get set?
<%
set RS = server.createobject("adodb.recordset")
for x = 1 to 5
	RS.open "Select ud_nome from users_default WHERE ud_nome = '"& ud_login_(x) &"'"
	if not RS.eof then
		' User is found
	end if
	RS.close
next
set RS = nothing
%>

Open in new window

0
 

Author Comment

by:marcoloppo
ID: 24296336
Hi,

Thank you for the answers, I made what was suggested and it worked partly, in other words I got no error message anymore, but the variables:

ud_login_(x)
ud_email_(x)
ud_senha_(x)

Are blank, with no value. I receive via POST the values of these variables, that come from a form, and I got them like below:

ud_login_1 = request("ud_login_1")
ud_email_1 = request("ud_email_1")
ud_senha_1 = request("ud_senha_1")
ud_login_2 = request("ud_login_2")
ud_email_2 = request("ud_email_2")
ud_senha_2 = request("ud_senha_2")
ud_login_3 = request("ud_login_3")
ud_email_3 = request("ud_email_3")
ud_senha_3 = request("ud_senha_3")
ud_login_4 = request("ud_login_4")
ud_email_4 = request("ud_email_4")
ud_senha_4 = request("ud_senha_4")
ud_login_5 = request("ud_login_5")
ud_email_5 = request("ud_email_5")
ud_senha_5 = request("ud_senha_5")

So any of this variables above should be recorded in the SQL statement below, when the loop is running, what might be the problem?

Once thank you.






Dim SS_Busca_Usuario_Default_(5)
Dim ud_login_(5)
Dim RS_Busca_Usuario_Default_(5)
Dim SS_Inclui_User_Master_(5)
Dim ud_email_(5)
Dim ud_senha_(5)
 
x=1
for x = 1 to 5
 
SS_Busca_Usuario_Default_(x) = "Select ud_nome from users_default WHERE ud_nome = '"& ud_login_(x) &"'"
Set RS_Busca_Usuario_Default_(x) = conn.execute(SS_Busca_Usuario_Default_(x))
 
If RS_Busca_Usuario_Default_(x).eof = true then
response.write ud_login_(x)
'SS_Inclui_User_Master_(x) = "Insert into users_default (cod_empresa, ud_nome, ud_email, ud_pass_1, ud_pass_2, ativo, data) VALUES ("& RS_inclui_empresa("IdentityInsert") &", '"& ud_login_(x) &"', '"& ud_email_(x) &"', '"& ud_senha_(x) &"',  '"& md5(ud_senha_(x)) &"',  NULL, getdate())"
'conn.execute(SS_Inclui_User_Master_(x))
end if
 
next

Open in new window

0
 

Author Comment

by:marcoloppo
ID: 24296356
Sorry, below folows the correct script
Dim SS_Busca_Usuario_Default_(5)
Dim ud_login_(5)
Dim RS_Busca_Usuario_Default_(5)
Dim SS_Inclui_User_Master_(5)
Dim ud_email_(5)
Dim ud_senha_(5)
 
x=1
for x = 1 to 5
 
SS_Busca_Usuario_Default_(x) = "Select ud_nome from users_default WHERE ud_nome = '"& ud_login_(x) &"'"
Set RS_Busca_Usuario_Default_(x) = conn.execute(SS_Busca_Usuario_Default_(x))
 
If RS_Busca_Usuario_Default_(x).eof = true then
SS_Inclui_User_Master_(x) = "Insert into users_default (cod_empresa, ud_nome, ud_email, ud_pass_1, ud_pass_2, ativo, data) VALUES ("& RS_inclui_empresa("IdentityInsert") &", '"& ud_login_(x) &"', '"& ud_email_(x) &"', '"& ud_senha_(x) &"',  '"& md5(ud_senha_(x)) &"',  NULL, getdate())"
conn.execute(SS_Inclui_User_Master_(x))
end if
 
next

Open in new window

0
 
LVL 6

Assisted Solution

by:JoachimMartinsen
JoachimMartinsen earned 200 total points
ID: 24297484
Try this:
request("ud_login_"&x)

Open in new window

0
 

Author Closing Comment

by:marcoloppo
ID: 31577448
Great Solution!
0

Featured Post

Don't Cry: How Liquid Web is Ensuring Security

WannaCry is just the start. Read how Liquid Web is protecting itself and its customers against new threats.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

      Install BugTracker on Windows 2008 server Step 1:  Install windows 2008 server 32 bit OS and configure IIS. Step 2:  Install SQL server ( SQL server 2005 or SQL server 2005 Express edition. The installer for 2008  version isn’t very f…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
This video teaches viewers how to create their own website using cPanel and Wordpress. Tutorial walks users through how to set up their own domain name from tools like Domain Registrar, Hosting Account, and Wordpress. More specifically, the order in…
Learn how to set-up custom confirmation messages to users who complete your Wufoo form. Include inputs from fields in your form, webpage redirects, and more with Wufoo’s confirmation options.

729 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question