Ir para conteúdo
Fórum Script Brasil
  • 0

Dados Incompativeis


bolomaster

Pergunta

Salve galera, beleza olha so é o seguinte eu to com um problema simples para se resolver, eu estou criando um sistema onde oh professor se loga, escolhe a materia e a turma...

ai lista toda a turma e ele vai jogar as notas para aquela turma, olha so o meu codigo como esta ficando so que não consigo listar a turma no fim.. se alguém tiver alguma ideia .. eu agradeço

selecionardistur.asp

<form name="form1" method="post" action="selectmateria"> 
<% 
'Sistema Desenvolvido por Rafael Marciano 
dim db, rs, tblrs, disciplina 
set db = Server.CreateObject("ADODB.Connection") 
set rs = Server.CreateObject("ADODB.recordset") 
db.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db/secfac01.mdb") 
tblrs = "Select * From disciplinasProfessor" 
rs.open tblrs, db 
%> 
<select name="disciplina"> 
<% do while not rs.eof %> 
<option value="<%=rs.fields("AbrevDisc")%>"><%=rs.fields("AbrevDisc")%></option> 
<% rs.movenext 
loop 
%> 
</select> 
<% 
rs.close 
db.close 
set rs = nothing 
set db = nothing 
%> 
<!-- ################################################## --> 
<% 
dim db2, rs2, tblrs2, turma 
set db2 = Server.CreateObject("ADODB.Connection") 
set rs2 = Server.CreateObject("ADODB.recordset") 
db2.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db/secfac01.mdb") 
tblrs2 = "Select * From Turmas" 
rs2.open tblrs2, db2 
%> 
<Select name="turma"> 
<% do while not rs2.eof %> 
<option value="<%=rs2.fields("CodigoTurma")%>"><%=rs2.fields("CodigoTurma")%></option> 
<% rs2.movenext 
loop 
%> 
</select> 
<input name="selecionar" type="button" value="selecionar"> 
</form> 
<% 
rs2.close 
db2.close 
set rs2 = nothing 
set db2 = nothing 
%> 
agora o arquivo selectmateria
<% 
dim Conn, RS, SQL, disciplina, turma, varsessao 
Set Conn = Server.CreateObject("AdoDb.Connection") 
Conn.provider="Microsoft.Jet.OLEDB.4.0" 
Conn.connectionstring=Server.Mappath("db/secfac01.mdb") 
Conn.open 
disciplina = Request.Form("disciplina") 
turma = Request.Form("turma") 
SQL = "select * from connotas where AbrevDisc = '"&disciplina&"' and Turma = '"&turma&"' " 
Set RS = Conn.Execute(SQL) 

If RS.EOF Then 
Response.Write "não existem dados para esta turma/disciplina." 
Else 
varturma = RS.fields("turma") 
Session("turma") = varturma 
vardisc = RS.fields("AbrevDisc") 
Session("disc") = vardisc 
Response.Redirect "lancNotas.asp" 
End If 
%> 
Neste arquivo que da erro Tipo de erro: Microsoft JET Database Engine (0x80040E07) Tipo de dados imcompatível na expressão de critério. /atenas/Faculdade/selectmateria.asp, line 10 o erro da linha 10 é que no banco a tabela o tipo de dado é nº e faz parte de um relacionamento então não posso perder os dados já cadastro e não muda para texto como vou resolver este problema ? LancNotas.asp
<% 
'Sistema Desenvolvido por Rafael Marciano 
dim db, rs 
set db = Server.CreateObject("ADODB.Connection") 
set rs = Server.CreateObject("ADODB.recordset") 
db.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db/secfac01.mdb") 
tblrs = "Select * From connotas where turma = '" & Session("turma") &"' AND AbrevDisc = '"& Session("disc")& "'" 
rs.open tblrs, db 
%> 
<form action="atualizanotas" method="post"> 
<table width="100%" border="0" cellspacing="0" cellpadding="0"> 
<tr> 
<td width="11%">Turma</td> 
<td width="16%">Disciplina</td> 
<td width="10%">Aluno</td> 
<td width="23%">Prova 1&ordm; Bim </td> 
<td width="15%">Prova 2º Bimestre </td> 
<td width="25%">Exame especial </td> 
</tr> 
<% do while not rs.eof %> 
<tr> 
<td><input name="turma" type="text" id="turma" value="<%=rs.fields("turma")%>"></td> 
<td><input name="disciplina" type="text" id="disciplina" value="<%=rs.fields("AbrevDisc")%>"></td> 
<td><input name="aluno" type="text" id="aluno" value="<%=rs.fields("NomeAluno")%>"></td> 
<td><input name="prova1b" type="text" id="prova1b" value="<%=rs.fields("Prova1bim")%>"></td> 
<td><input name="prova2b" type="text" id="prova2b" value="<%=rs.fields("Prova2bim")%>"></td> 
<td><input name="examespecial" type="text" id="examespecial" value="<%=rs.fields("examespecial")%>"></td> 
</tr> 
<%rs.movenext 
loop 
rs.close 
db.close 
set rs = nothing 
set db = nothing 
%> 
</table></form>

abraços a todos

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

hehe

e ae bolo.. como vais?

viste o segundo desafio?

Bom.. voltando à sua duvida:

- você diz que o erro dá porque seu campo é numero.. e você trata ele como string.. não?

porque não coloca ele no sql, como se fosse numero mesmo.. sem as aspas simples..

não pode ser?

Seu codigo esta bem grandinho.. né

O que você quer fazer ae ..? É selecionar as disciplinas e as turmas de cada professor?

Link para o comentário
Compartilhar em outros sites

  • 0

cara não vi ainda não.. mas se der um tempo livre vou tentar

ai meu

olha so deu certo, eu até já havia pensado em algo, mas não tinha funcionado, agora dá este erro,

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)

[Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 1.

/atenas/Faculdade/lancNotas.asp, line 8

e já conferi os nomes de campos e não estao errados.. tem alguma ideia

abraços

Ah é o meu sistema de notas online é parte onde o professor joga as notas e as faltas dos alunos, é que to instalando num colegio que já usa um programa especifico e não queria trocar de programa. então eu converti os dados para o meu banco que é access pois o programa deles usa paradox e não to conseguindo resolver algumas coisinhas

Link para o comentário
Compartilhar em outros sites

  • 0

ah tá..

beleza

Mas deixa ver..

qual é a linha 8?

se for a linha que executa algum SQL, posta o sql ae.. enfim.. posta o que você acha que tem a ver com o erro..

porque, pode ser algum erro nas variaveis..

esse erro ae diz que alguma condição não ta recebendo o valor.. por isso da erro

pode ser tb seu banco. veja se a opção permitir comprimento zero está definida como SIM.. pois, se estiver não, quando for cadastrar alguma coisa.. ele obrigatoriamente tera que receber valor.. se não receber, vai dar erro!

ate mais

Link para o comentário
Compartilhar em outros sites

  • 0

Isso, e antes de executar sua string SQL, faça um debug.

Debug? ã?

Debug é por exemplo você testando os dados que já tem até o momento.

Vá dando response.write nos dados e tal.

Dê um response.write na string sql, nas variaveis q vao ser inseridas nelas e tal e vá corrigindo seus erros e fazendo tratamentos e td mais.

biggrin.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Galera, já resolvi. po as velhas aspas me fazer ficar louco .. .o problema era as aspas.. tipo na string

tblrs = "Select * From connotas where turma = '" & Session("turma") &"' AND AbrevDisc = '"& Session("disc")& "'"

Turma o campo é numerico então .. foi só eu tirar as aspas simples ficando assim oh

tblrs = "Select * From connotas where turma = " & Session("turma") &" AND AbrevDisc = '"& Session("disc")& "'"

funcionou

abraços e moderador já pode fechar este tópico

fui

valeu pela ajuda Dark0, [Guto] e Grande Urso...

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...