Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

razs

[Resolvido] Alter table

Recommended Posts

do jeito que esta sendo passado a variavel utl_var esta como do tipo texto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já nao utilizo essa variavel, limpei o codigo

 

<%
if request.form("insform.x")>0 then
addusers
end if

sub addusers()

for x = 1 to request.form.count()
if request.form.item(x)<>"" then 
if request.Form.key(x)<>"Submit" then

instotal= "update INTO users (add_2study_by,study) Values ('"&Session("user")&"','"&request.form("nom")&"') WHERE username like '"&Request.Form("checkgroup")&"'"

End If
End If
next 

Response.Redirect("adduserstudy.asp?msg=Users added to study sucessfully.")	

 conn.close
end sub

%>

 

Agora nao da erro diz que a operação concluiu com sucesso mas nao altera o campo add_2study_by,study.

Compartilhar este post


Link para o post
Compartilhar em outros sites

alterei mas nada na mesma

 

	instotal= "update users SET add_2study_by='"&Session("user")&"' ,study='"&request.form("nom")&"' WHERE username like '"&Request.Form("checkgroup")&"'"

 

penso que o problema seja nos forms, podes dar uma vista de olhos para ver se escapou alguma coisa?

obrigado

 

<h4>Add user to study <%=request.querystring("nom")%></h4>
<br><u><B><% response.write request.queryString("msg") %></B></u>
<%
instotal2 = "select center from centros group by center" 
rs2.open instotal2,conn,2,2
%>	
<form name="form_center" method="POST" id="insform">	

<div class="field"><label>Choose Center:</label><select name="center" onChange="FormSubmit('adduserstudy.asp?id=<%= request.querystring("id")%>&nom=<%= request.querystring("nom")%>')">

<%if request.form("center")="" then%>
<option selected>Choose</option>
<%else%>
<option selected><%Request.Form("center")%></option>
<%end if
While Not rs2.EOF%>
		<option value="<%= rs2("center") %>"><%= rs2("center") %></option>
<%
rs2.MoveNext
Wend
rs2.Close
Set rs2 = Nothing
%>
</select></div>	

</form>


<br><br>
Choose Users from <%response.write (request.form("center"))%>:<br><br>

<%
campocenter = request.form("center")
id= request.form("id")



instotal1 = "select * from users where center like '" & campocenter& "'"
rs1.open instotal1,conn,2,2	

While Not rs1.EOF%>
<form name="insform" id="insform" method="post">
<div class="checkcolumn">
<div class="field"><label><%=rs1("username")%></label>
<input type="checkbox" name="checkgroup" value="<%=rs1("username")%>"></div>

</div>
<%
rs1.MoveNext
Wend
rs1.Close
Set rs1 = Nothing
%>
<br>
</div>
<input type="button" name="CheckAll" value="Check All" onClick="checkAll(document.insform.checkgroup)">
<input type="button" name="UnCheckAll" value="Uncheck All" onClick="uncheckAll(document.insform.checkgroup)">
<input type="input" name="nom" id="textboxes" value="<%=request.querystring("nom")%>">

<br><br>			
	<div class="more_button"><input type="image" class="image" id="insform" name="insform" src="images/ok.jpg"></div>
<br>
</form>
	</div>
	</div>
<%
if request.form("insform.x")>0 then
addusers
end if

sub addusers()

for x = 1 to request.form.count()
if request.form.item(x)<>"" then 
if request.Form.key(x)<>"Submit" then

instotal= "update INTO users (add_2study_by,study) Values ('"&Session("user")&"','"&request.form("nom")&"') WHERE username like '"&Request.Form("checkgroup")&"'"


response.write instotal

End If
End If


Response.Redirect("adduserstudy.asp?msg=Users added to study sucessfully.")	
next
 conn.close
end sub

%>

 

tentei uma nova abordagem, mas ele nao divide os users

 

	if request.form("insform.x")>0 then
addusers
end if

sub addusers()

utl_var = split(Request.Form("checkgroup"))		

For Each x In request.form("insform.x")

response.write "'"&Session("user")&"'"
response.write "'"&request.form("nom")&"'"
response.write "'"&request.form("checkgroup")&"'"

instotal= "update users set add_2study_by='"&Session("user")&"',study='"&request.form("nom")&"' WHERE username like '"&utl_var&"'"

response.write instotal
Next


'Response.Redirect("adduserstudy.asp?msg=Users added to study sucessfully.")	

 conn.close
end sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o erro atual?

 

Imprime na tela o valor de instotal para vermos como está

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao da para ver porque ele nao faz o split logo o valor nao é aceitavel

 

'admin''study0159''ras, jose, user2, carlos1234, joao, sofia, biatriz'

Microsoft VBScript runtime error '800a000d'

Type mismatch

/usercorc/adduserstudy.asp, line 205 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este erro geralmente vem porque você tem a sintaxe incorreta , tentando usar uma função como uma matriz, ou uma string como uma função.veja se nao esta passando dados de tipo incompativeis

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele esta a dar este erro porque esta a passar o user como 'ras, jose, user2, carlos1234, joao, sofia, biatriz'

logo da erro, o split nao esta a funcionar, penso que o terei mal colocado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual é esta linah de codigo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é instotal= "update users set add_2study_by='"&Session("user")&"',study='"&request.form("nom")&"' WHERE username like '"&utl_var&"'"

 

da erro porque ele assim faz:

 

instotal= "update users set add_2study_by=admin,study=study0159 WHERE username like ras, jose, user2, carlos1234, joao, sofia, biatriz"

Compartilhar este post


Link para o post
Compartilhar em outros sites

De fato isto está claramente errado

 

Na verdade nem entendi direito o que quer

 

quais são os campos que quer editar separe porque ali estpa tudo junto nem dá para entender

 

e outra os campos que vão ser editados são os que possuem username igual aquela lista final?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim eu quero que ele edite os campos add_2study_by e study do utilizador selecionado.

 

O unico problema e que nao estou a conseguir fazer o split e o loop para ele fazer o update para cada user selecionado.

 

Fiz algumas alteracoes e parece estar a funcionar embora nao altere, ele deste modo ja devolve

update users set add_2study_by='admin',study='study0159' WHERE username like 'ras'

update users set add_2study_by='admin',study='study0159' WHERE username like ' jose'

update users set add_2study_by='admin',study='study0159' WHERE username like ' user2'

update users set add_2study_by='admin',study='study0159' WHERE username like ' carlos1234'

update users set add_2study_by='admin',study='study0159' WHERE username like ' joao'

update users set add_2study_by='admin',study='study0159' WHERE username like ' sofia'

update users set add_2study_by='admin',study='study0159' WHERE username like ' biatriz'

 

<%session("user")="admin"
if request.form("insform.x")>0 then
addusers
end if

sub addusers()

'utl_var = split()

'For Each x In request.form("insform.x")


a=Split(Request.Form("checkgroup"),",")
for each x in a


'response.write "'"&Session("user")&"'"
'response.write "'"&request.form("nom")&"'"
'response.write "'"&request.form("checkgroup")&"'"

instotal= "update users set add_2study_by='"&Session("user")&"',study='"&request.form("nom")&"' WHERE username like '"&x&"'"

response.write instotal

'Response.Redirect("adduserstudy.asp?msg=Users added to study sucessfully.")	
next
 conn.close
end sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se entendi bastaria isso

 

instotal= "update users set add_2study_by='"&Session("user")&"', study='"&request.form("nom")&"' WHERE username IN ('"&utl_var&"')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

um exemplo simples usando o SPLIT e fazendo um Loop na SQL

'recupera os valores
varuser= Split(Request.Form("varuser"), ",")

For i = 1 To Request.Form("varuser").Count

SQL ="UPDATE users set add_2study_by='"&Session("user")&"', study='"&request.form("nom")&"' WHERE username='"&request.form("produtos")(i)&"'"

Compartilhar este post


Link para o post
Compartilhar em outros sites

o estranho e que ele faz tudo bem mas nao grava

 

<%
if request.form("insform.x")>0 then
addusers
end if

sub addusers()

a=Split(Request.Form("checkgroup"),",")
for each x in a

instotal = "UPDATE users set add_2study_by='"&Session("user")&"', study='"&request.form("nom")&"' WHERE username like '"&x&"'"	

 

Nao sei porque é que ele nao grava visto ele fazer o loop e correr a query para cada user

Compartilhar este post


Link para o post
Compartilhar em outros sites

da´uma response.write na sua string SQL para ver o que esta sendo passado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele passa tudo como deve ser, mas nao altera

 

 

UPDATE users set add_2study_by='admin', study='study0159' WHERE username like 'ras'
UPDATE users set add_2study_by='admin', study='study0159' WHERE username like ' jose'
UPDATE users set add_2study_by='admin', study='study0159' WHERE username like ' user2'
UPDATE users set add_2study_by='admin', study='study0159' WHERE username like ' carlos1234'
UPDATE users set add_2study_by='admin', study='study0159' WHERE username like ' joao'
UPDATE users set add_2study_by='admin', study='study0159' WHERE username like ' sofia'
UPDATE users set add_2study_by='admin', study='study0159' WHERE username like ' biatriz'

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.