Ir para conteúdo

POWERED BY:

Arquivado

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

marcelinho

Como fazer ?

Recommended Posts

e ae galera beleza?é o seguinte eu to cadastrando umas notas e faltas dos alunos no banco...entao ai é o seguinte qdo é apenas 1 aluno ele insere normalmente agora qdo é mais de 1 ja da pal...alguem sabe o que eu posso fazer para dar certo?????//eu vou precisar usar o for each???????me ajudemvaleuu

Compartilhar este post


Link para o post
Compartilhar em outros sites

COMO PODEMOS VER SE você NÃO FALA O ERRO.... MOSTRE O ERRO E A LINHA DO ERRO E MAIS O CODIGO...ABRAÇOS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo de erro:

Microsoft JET Database Engine (0x80040E07)

Tipo de dados imcompatível na expressão de critério.

/projeto/ipeel/notas.asp, line 20

agora a pagina

 

<html><head>	<title>Notas e Faltas</title></head><body><%'Leitura de variaveisnID = request.form("id")nNotas = request.form("notas")nFaltas = request.form("faltas")nBimestre2 = request.form("bimestre2")nMateria2 = request.form("materia2")nTurma2 = request.form("turma2")'Inserir no Banco de dadosnSQL = "Insert into tbBoletins(idaluno,bimestre,nota,faltas,turma,materia) VALUES('" & nID & "','" & nBimestre2 & "','" & nNotas & "','" & nfaltas & "','" & nTurma2 & "','" & nMateria2 & "')"Session("Conn").Execute(nSQL)%>inseridas as notas no banco</body></html>

e o formulario

 

<html><head><title>Cadastro de Notas e faltas</title><script language="JavaScript">function jValidaForm(form){            if (form.notas.value == "")            {                        alert("Atenção!\nO campo NOTAS deve ser preenchido.");                        form.notas.focus();                        return false;            } 	 if(form.faltas.value == "") 	  	 { 	                alert("Atenção!\nO Campo FALTAS deve ser preenchido.");            form.faltas.focus();            return false;   	  	 }    } 	 </Script> 	 </head><body><%if session("logado")="" thenresponse.redirect "loginesenha.asp"end if  dim matNotas()'leitura de variaveis  nTurmas = request.form("turmas")  nMateria = request.form("materia")  nBimestre = request.form("bimestre")'Rodar um select na tbBoletins   nSQL = "Select * from tbBoletins"  Session("Conn").Execute(nSQL)    nSQL = "Select * from tbAlunos WHERE turma = '" & nTurmas & "'"  Set rsD = Session("Conn").Execute(nSQL)    nSQL = "Select * from tbMaterias WHERE materia='" & nMateria &"'"  Session("Conn").Execute(nSQL) i=0While not rsD.EOF    redim preserve matNotas(3,i)    matNotas(0,i) = rsD("id")    matNotas(1,i) = rsD("nome")    matNotas(2,i) = rsD("turma")     i=i+1    rsD.MoveNextWend  %><form method=post action="notas.asp" onSubmit="return jValidaForm(this);"><link rel="stylesheet" href="includes/incEstilo.css" TYPE="text/css" src="includes/incEstilo.css"> <table width="620" border="0" cellspacing="1" cellpadding="3" align="center" bgcolor="Silver">	<tr bgcolor=728AB0>  <td height="25" colspan="25" background="imagens/barra_topo.gif"> 	 <table border=0 width=100%>    <tr>   	 <td class="titulo_formulario"> <b>Insere Notas</b></td>    </tr> 	 </table>  </td>	</tr><tr bgcolor="#FFFFFF" id="" onMouseOver="this.bgColor='#f5f2e9';" onMouseOut="this.bgColor='#ffffff';">  <td class=backendPreto>Bimestre:</td><td class=backendPreto colspan="2"><input type=text name=bimestre2 value="<%=nBimestre%>"></td></tr><tr bgcolor="#FFFFFF" id="" onMouseOver="this.bgColor='#f5f2e9';" onMouseOut="this.bgColor='#ffffff';"> <td class=backendPreto>Matéria</td><td class="backendPreto" colspan="2"><input type=text name=materia2 value="<%=nMateria%>"> </td></tr><tr bgcolor="#FFFFFF" id="" onMouseOver="this.bgColor='#f5f2e9';" onMouseOut="this.bgColor='#ffffff';"><td class=backendPreto>Turma</td><td class=backendPreto colspan="2"><input type=text name="turma2" value="<%=nTurmas%>"></td></tr>  <tr bgcolor="#FFFFFF" id="" onMouseOver="this.bgColor='#f5f2e9';" onMouseOut="this.bgColor='#ffffff';"><td class=backendPreto>Nomes</td><td class=backendPreto>Notas</td><td class="backendPreto">Faltas</td></tr><tr bgcolor="#FFFFFF" id="" onMouseOver="this.bgColor='#f5f2e9';" onMouseOut="this.bgColor='#ffffff';"><%for j=0 to i-1%><input type=hidden name="id" value="<%=matNotas(0,j)%>"><td class=backendPreto><%=matNotas(1,j)%></td><td class=backendPreto><input type=text name=notas size=6 maxlength=8></td><td class=backendPreto><input type="text" name=faltas size=3 maxlength=3><tr bgcolor="#FFFFFF" id="" onMouseOver="this.bgColor='#f5f2e9';" onMouseOut="this.bgColor='#ffffff';"></td><%next%><td class=backendPreto colspan="3" align="center"><input type=submit value=Cadastrar></td></tr></table></form></body></html>
So lembrando que qdo eu cadastro um aluno so ele funciona normal...agora qdo sao mais de 1 aluno ele ja nao cadastra

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual banco de dados você usa ? os campos (idaluno,bimestre,nota,faltas,turma,materia) são respectivamente oq ? (numérico, texto, sim/nao........)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá, quando você dá o mesmo nome a diversos campos do form você está criando em seu request uma coleção de dados, tipo um array, com o nome do campo, dá uma olhada no "Perguntas Frequentes" um tópico sobre Multiplos Checkboxes que poderá te ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae salgado para que ser o UBound?????eu li la...mais nao entendi mto...pq no caso la ta para excluir e para inserir fica na mesma coisa???so muda o delete para o insert????ah e outra eu nao to trabalhando com checkboxes eu to trabalhando com edits(caixas de texto) pode ser usado o mesmo processo???

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Ubound é pq o Request("campo") é uma coleção, tipo um array mesmo (Request("campo")(indice)). Se não me falha a memória, sim pode usar para outros tipos de campos. O exemplo foi com Delete, mas Insert e Update tb podem ser feitos

Compartilhar este post


Link para o post
Compartilhar em outros sites

você nao quer me ajudar a fazer isso?? pq eu nem sei mto sobre esse UBoundeu quero recuperar todos esses campos:que nem tem no codigo com o request.form e inserir no banco!!!<%nID = request.form("id")nNotas = request.form("notas")nFaltas = request.form("faltas")nBimestre2 = request.form("bimestre2")nMateria2 = request.form("materia2")nTurma2 = request.form("turma2")'Inserir no Banco de dadosnSQL = "Insert into tbBoletins(idaluno,bimestre,nota,faltas,turma,materia) VALUES('" & nID & "','" & nBimestre2 & "','" & nNotas & "','" & nfaltas & "','" & nTurma2 & "','" & nMateria2 & "')"Session("Conn").Execute(nSQL)%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se ajuda:

<%

For x = LBound(Request.Form("id") to UBound(Request.Form("Id")

nID = request.form("id")(x)

nNotas = request.form("notas")(x)

nFaltas = request.form("faltas")(x)

nBimestre2 = request.form("bimestre2")(x)

nMateria2 = request.form("materia2")(x)

nTurma2 = request.form("turma2")(x)

 

'Inserir no Banco de dados

nSQL = "Insert into tbBoletins(idaluno,bimestre,nota,faltas,turma,materia) VALUES('" & nID & "','" & nBimestre2 & "','" & nNotas & "','" & nfaltas & "','" & nTurma2 & "','" & nMateria2 & "')"

Session("Conn").Execute(nSQL)

Next

%>

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae salgado ta dando este tipo de erro pq isso acontece?

Tipo de erro:Erro de tempo de execução do Microsoft VBScript (0x800A000D)Tipos incompatíveis: 'LBound'/projeto/ipeel/notas.asp, line 2

olha o codigo
<%For x = LBound(Request.Form("id")) to UBound(Request.Form("id"))nID = request.form("id")(x)nNotas = request.form("notas")(x)nFaltas = request.form("faltas")(x)nBimestre2 = request.form("bimestre2")(x)nMateria2 = request.form("materia2")(x)nTurma2 = request.form("turma2")(x)'Inserir no Banco de dadosnSQL = "Insert into tbBoletins(idaluno,bimestre,nota,faltas,turma,materia) VALUES('" & nID & "','" & nBimestre2 & "','" & nNotas & "','" & nfaltas & "','" & nTurma2 & "','" & nMateria2 & "')"Session("Conn").Execute(nSQL)Next%>
desculpa o incomodo aee salgadoo

Compartilhar este post


Link para o post
Compartilhar em outros sites

LBound e UBound é utilizado somente em ARRAYs

 

para fazer um FOR resgatando valores de campos com mesmo nome você pode fazer asism

 

ASP [/tr][tr]<%

For x = 1 to Request.Form("id").Count

nID = request.form("id")(x)

nNotas = request.form("notas")(x)

nFaltas = request.form("faltas")(x)

nBimestre2 = request.form("bimestre2")(x)

nMateria2 = request.form("materia2")(x)

nTurma2 = request.form("turma2")(x)

 

'Inserir no Banco de dados

nSQL = "Insert into tbBoletins(idaluno,bimestre,nota,faltas,turma,materia) VALUES('" & nID & "','" & nBimestre2 & "','" & nNotas & "','" & nfaltas & "','" & nTurma2 & "','" & nMateria2 & "')"

Session("Conn").Execute(nSQL)

Next

%>

[/tr]

 

 

falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

rockLoco valeu pela ajuda mais deu o seguinte erro

 

 

Tipo de erro:Objeto Request, ASP 0105 (0x80004005)Qualquer índice de matriz está fora do intervalo./projeto/ipeel/notas.asp, line 6

sabe o que eu quero é o seguinte vou explicar melhor

eu tenho dois alunos ou mais com campos para nota na frente do nome ex:

 

joao (campo text pra nota) (campo text pra falta)

maria (campo text pra nota) (campo text pra falta)

marcelo (campo text pra nota) (campo text pra falta)

e assim por diante................agora é o seguinte qdo é apenas 1 aluno ele insere normal so que qdo é mais de um como eu expliquei acima nao da certo. E eu to tentando ver um jeito para dar certo,mais eu nem tenho ideia sou novo no asp!!

 

 

ah e valeu a todos que me ajudaram!!!obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

rockLoco valeu pela ajuda mais deu o seguinte erro

Tipo de erro:Objeto Request, ASP 0105 (0x80004005)Qualquer índice de matriz está fora do intervalo./projeto/ipeel/notas.asp, line 6
sabe o que eu quero é o seguinte vou explicar melhoreu tenho dois alunos ou mais com campos para nota na frente do nome ex:joao (campo text pra nota) (campo text pra falta)maria (campo text pra nota) (campo text pra falta)marcelo (campo text pra nota) (campo text pra falta)e assim por diante................agora é o seguinte qdo é apenas 1 aluno ele insere normal so que qdo é mais de um como eu expliquei acima nao da certo. E eu to tentando ver um jeito para dar certo,mais eu nem tenho ideia sou novo no asp!!ah e valeu a todos que me ajudaram!!!obrigado
o nº de campos para todos tem q ser o mesmo....se você tiver 2 campos para nome, terá q ter 2 para sobrenome, 2 para endereço e assim por diante!! senão você tentará pegar um valor do indice sendo q nao existe mesmofalows

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi o que você ta falando RockLoco....pq é o seguinte eu tenho nesse sistema o cadastro de alunos,cadastro de turmas,cadastro de materias e cadastro de Notas e Faltas. e o que vao fazer isso...depois de cadastrar as materias,turmas e alunos....vai cadastrar notas e faltas....entao ai é o seguinte tem 2 drop down que é um pra materia e outro é pra turma...ai ele digita o bimestre e dar um submit.......ai com esse submit aparece os alunos que estao na classe escolhida anteriormente.....dai o cara digita as notas e faltas dos alunos....e desse um submit e pronto cadastrasse no banco!!e eu nao to conseguindo fazer isso cadastrar as notas e faltas no banco de todos os alunos

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai eu precisava registrar td no banco pq eu usei o for each e tbm nem deu certo!!!pois ele em um aluno ele esta gravando a nota de todos entendeu??e eu nao to conseguindo ver solução!!

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.