Ir para conteúdo

Arquivado

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

kika

em ASP para inserir dados no Access

Recommended Posts

Não entendi Gustavo...Qual é o problema agora?Kika deu certo tudo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Shumi,

 

Aquele problema inicial sanou, o problema agora é que quando vou conferir o BD pra ver se os dados foram gravados e o BD está vazio.

 

E aqueles campos que tenho como Total (que são 3 campos) eu tirei ele de entrada de dados, pois quero que ele pegue o somatório, mas ele não está somando nada tb. Vou postar o trecho.

 

<table width="391" border="1" align="center" cellpadding="0" cellspacing="0">					  <tr bgcolor="7f4200">			<td width="104" bgcolor="#FFFFFF"><div align="center"> <%	  	  intTotal_inicial =  (intTotal_inicial + inicial)	  intTotal_venda =  (intTotal_venda + venda)	  intTotal_percentual =  (intTotal_percentual + percentual)	 %>			  <input name="enviar" type="submit" id="enviar" value="calcular">			</div></td>					   <td width="75" bgcolor="#FFFFFF"><div align="center"></div>			<div align="center"><font size="2"><strong><font color="#CC6600" size="1" face="Verdana, Arial, Helvetica, sans-serif">TOTAL <br>			  INICIAL:</font></strong></font><font color="#A63600" face="Verdana"><b><br>			  </b></font><font face="Verdana" size="1" color="#A63600"><b><%= (intTotal_inicial) %></b></font><font color="#A63600" face="Verdana"><b><br>			  </b></font></div></td>			<td width="86" align="center" valign="middle" bgcolor="#FFFFFF"><div align="center"></div>				<div align="center"><font size="2"><strong><font color="#CC6600" size="1" face="Verdana, Arial, Helvetica, sans-serif">TOTAL<br> 				VENDA:</font></strong></font><font face="Verdana" size="1" color="#A63600"><b><br>				<%= (intTotal_venda) %></b></font></div></td>			<td width="116" align="center" valign="middle" bgcolor="#FFFFFF"><div align="center"></div>		<div align="center"><font size="2"><strong><font color="#CC6600" size="1" face="Verdana, Arial, Helvetica, sans-serif">TOTAL <br>				  PERCENTUAL				:</font></strong></font><font face="Verdana" size="1" color="#A63600"><b><br>				  <%= (intTotal_percentual) %></b></font></div></td>		  </tr>		</table>		<p>		  <label></label>		</p>	</form>	  <div align="center"></div></td>  </tr></table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kika,To enrolado com um negocinho aqui, só vou conseguir te ajudar quando chegar em casa... foi mal.Se ngm te ajudar ate eu chegar assim que estiver em casa t ajudo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigada Shumi...obrigada mesmo. Fike trank.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se quiser me add no msn que sempre que estou em casa eu to online.shumieae@hotmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok shumi, vou adicionar.Hoje a noite devo acessar tarde, pois tenho curso agora a noite

Compartilhar este post


Link para o post
Compartilhar em outros sites

Local não, só quando jogo no servidor

Gustavo, os teste que você esta fazendo local, você utiliza que tipo de sistema operacional?Pois se for o Win 98 você instalou o PWS ao invés do IIS e tem uns comandos que não funcionam nele, só não tenho certeza do Response.Redirect... http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif/>Kika,Posta pra mim a página do seu form que não ta gravando no banco, ela toda e a pagina que está no action desse form, ela toda tb. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Shumi,

 

Desculpe não entrar no msn ontem, mas cheguei em casa muito cansada e fui dormir.

 

Mas vamos aos códigos, vou postar aqui tudo que tenho.

 

teste.asp --> Página do meu Form:

<!-- #include file="db.asp" --><!-- #include file="adovbs.inc" --><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Untitled Document</title></head><body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"><table border="0" align="left" cellpadding="2" cellspacing="2">  <tr>	<td align="center" valign="middle"><table width="478" border="0" cellpadding="4" cellspacing="0">	  <tr>		<td width="458"><div align="left">			<%	  Set Conn = Server.CreateObject("ADODB.Connection")	  Conn.Open ConString	  	  Set rsProdInfo = Conn.Execute("SELECT imagem FROM produtos2")	'  if rsProdInfo.EOF then	'	Response.Write "Esse Produto " & strcod_produto & _	'		" não existe." 	'  else	'	strRefer = rsProdInfo("referencia")		strImage = rsProdInfo("imagem")%>		  </div>			<table width="471" border="0" cellpadding="2" cellspacing="0">			  <tr>				<td width="462"><div align="left"> </div></td>			  </tr>			</table>		  <table border="0" align="left" cellpadding="2" cellspacing="0">			  <tr>				<td width="43"><div align="left"><img src="<%= strImage %>" align="left" /> </div></td>				<td width="101"><div align="left"></div></td>			  </tr>			<tr> </tr>		  </table>		  <%'end ifrsProdInfo.Closeset rsProdInfo = Nothing	 Conn.Closeset Conn = Nothing%>		</td>	  </tr>	</table>	<p align="center"> </p></td>  </tr>  <tr>	<td align="center" valign="middle">	<form id="form1" name="form1" method="post" action="insere.asp">		<table width="391" border="1" align="center" cellpadding="2" cellspacing="0">		<%	  Dim iPageSize	   'Numero de colunas na páginaDim iPageCount	  'O número de páginas que iremos retornarDim iPageCurrent	'A página que queremos exibirDim strParam		'Passando parametroDim strSQL		  'comando SQL Dim iRecordsShown   'Loop controller for displaying just iPageSize recordsDim I			   'Standard looping variPageSize = 10 'Número de Produtos a serem exibidos por página na Tabela' Build SQL String using the parametersstrSQL = "SELECT tamanho FROM CL1"' Criando e abrindo a conexão		   	  Set Conn = Server.CreateObject("ADODB.Connection")	  Conn.Open ConString	  	  	  Set rsProdInfo = Server.CreateObject("ADODB.Recordset")	  rsProdInfo.PageSize = iPageSize	  rsProdInfo.CacheSize = iPageSize	  rsProdInfo.Open strSQL, Conn, adOpenStatic, adLockReadOnly, adCmdText 	  %>		<tr>		  <td width="99" align="center" valign="middle" bgcolor="#ff9900"><div align="center"><font color="#ffffff" face="Verdana" size="2"><strong>TAMANHO</strong></font></div></td>		  <td width="72" align="center" valign="middle" bgcolor="#ff9900"><div align="center"><font color="#ffffff" face="Verdana" size="2"><strong>INICIAL</strong></font></div></td>		  <td width="82" align="center" valign="middle" bgcolor="#ff9900"><div align="center"><font color="#ffffff" face="Verdana" size="2"><strong>VENDA</strong></font></div></td>		  <td width="112" align="center" valign="middle" bgcolor="#ff9900"><div align="center"><font color="#ffffff" face="Verdana" size="2"><strong>PERCENTUAL</strong></font></div></td>		</tr>		<%	  		iRecordsShown = 0		Do While iRecordsShown < iPageSize And Not rsProdInfo.EOF		  	  %>		<tr bgcolor="7f4200">		  <td align="center" valign="middle" bgcolor="#FFF0E1"><div align="center"><font face="Verdana" size="1" color="#ff9900"><b><%= rsProdInfo("tamanho")%></b></font></div></td>		  <td align="center" valign="middle" bgcolor="#FFF0E1"><font face="Verdana" size="1" color="#A63600"><b>			<label></label>			<input name="inicial" type="text" id="inicial" size="5" />		  </a></b></font></td>		  <td align="center" valign="middle" bgcolor="#FFF0E1"><label for="textfield"><font face="Verdana" size="1" color="#A63600"><b>			<input name="venda" type="text" id="venda" size="5" />		  </a></b></font></label></td>		  <td align="center" valign="middle" bgcolor="#FFF0E1"><div align="center">			<label>			<input name="percentual" type="text" id="percentual" size="5" />			</label>		  </div></td>		</tr>		<%	  iRecordsShown = iRecordsShown + 1	  rsProdInfo.MoveNext	  Loop	  'End if  rsProdInfo.Close		set rsProdInfo = Nothing		  		Conn.Close		set Conn = Nothing			  	  	%>	  </table>	  		<table width="391" border="1" align="center" cellpadding="0" cellspacing="0">					  <tr bgcolor="7f4200">			<td width="104" bgcolor="#FFFFFF"><div align="center"> <%	  	  intTotal_inicial =  (intTotal_inicial + inicial)	  intTotal_venda =  (intTotal_venda + venda)	  intTotal_percentual =  (intTotal_percentual + percentual)	 %>			  <input name="enviar" type="submit" id="enviar" value="calcular">			</div></td>					   <td width="75" bgcolor="#FFFFFF"><div align="center"></div>			<div align="center"><font size="2"><strong><font color="#CC6600" size="1" face="Verdana, Arial, Helvetica, sans-serif">TOTAL <br>			  INICIAL:</font></strong></font><font color="#A63600" face="Verdana"><b><br>			  </b></font><font face="Verdana" size="1" color="#A63600"><b><%= (intTotal_inicial) %></b></font><font color="#A63600" face="Verdana"><b><br>			  </b></font></div></td>			<td width="86" align="center" valign="middle" bgcolor="#FFFFFF"><div align="center"></div>				<div align="center"><font size="2"><strong><font color="#CC6600" size="1" face="Verdana, Arial, Helvetica, sans-serif">TOTAL<br> 				VENDA:</font></strong></font><font face="Verdana" size="1" color="#A63600"><b><br>				<%= (intTotal_venda) %></b></font></div></td>			<td width="116" align="center" valign="middle" bgcolor="#FFFFFF"><div align="center"></div>		<div align="center"><font size="2"><strong><font color="#CC6600" size="1" face="Verdana, Arial, Helvetica, sans-serif">TOTAL <br>				  PERCENTUAL				:</font></strong></font><font face="Verdana" size="1" color="#A63600"><b><br>				  <%= (intTotal_percentual) %></b></font></div></td>		  </tr>		</table>		<p>		  <label></label>		</p>	</form>	  <div align="center"></div></td>  </tr></table></body></html>

 

insere.asp -->

<!-- #include file="db.asp" --><%  	  inicial = Request.Form("inicial")	  venda = Request.Form("venda")	  percentual = Request.Form("percentual")	  total_inicial = Request.Form("total_inicial")	  total_venda = Request.Form("total_venda")	  total_percentual = Request.Form("total_percentual")		   Set Conn = Server.CreateObject("ADODB.Connection")  Conn.Open ConString	   SQL = "INSERT INTO CL1 (inicial, venda, percentual, total_inicial, total_venda, total_percentual) VALUES ("&inicial&", "&venda&", "&percentual&", "&total_inicial&", "&total_venda&", "&total_percentual&")"	 	  Response.Write(SQL)	  Response.End()	  	  Set rsProdInfo = Conn.Execute(SQL)	 %>

db.asp

<%ConString = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & "D:\webpoint\docs\joanajoa\database\pedidos.mdb" & ";" & "JET OLEDB:Database"%>

 

Na insere.asp acho que devo retirar os campos de Total, pois eles não serão inseridos pelo usuário, eles deverão apenas fazer o cálculo dos somatórios e a porcentagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kika o Problemas esta aqui:

 

SQL = "INSERT INTO CL1 (inicial, venda, percentual, total_inicial, total_venda, total_percentual) VALUES ("&inicial&", "&venda&", "&percentual&", "&total_inicial&", "&total_venda&", "&total_percentual&")"		  Response.Write(SQL)	  Response.End()	  	  Set rsProdInfo = Conn.Execute(SQL)	%>

Faça assim:

 

SQL = "INSERT INTO CL1 (inicial, venda, percentual, total_inicial, total_venda, total_percentual) VALUES ("&inicial&", "&venda&", "&percentual&", "&total_inicial&", "&total_venda&", "&total_percentual&")"		  Set rsProdInfo = Conn.Execute(SQL)	%>

Pois ali você esta dando o Response.End()

Ele faz o script para de executer bem onde você "escreveu" ele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Shumi,Eu já havia retirado essa linha que você falou, estou testando de tudo. Só que dá erro tb, vejaMicrosoft JET Database Engine error '80040e14' Number of query values and destination fields are not the same. /teste/insere.asp, line 16Sei que esse erro acontece quando os dados não batem com os dados do BD, mas estão todos extamente iguais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

dew um response.write nesta variaveel SQL e ponha aqui o resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acabei de fazer isso e ele retornou o seguinte:

 

INSERT INTO produtos (inicial,venda) VALUES (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)

Microsoft JET Database Engine error '80040e14'

 

Number of query values and destination fields are not the same.

 

/teste/insere.asp, line 16

 

Eu retirei a linha do Conn.Execute e o erro parou, mas mesmo assim não inseriu nada no BD

Veja como está minha insere.asp agora:

 

 

<!-- #include file="db.asp" --><%  	  inicial = Request.Form("inicial")	  venda = Request.Form("venda")		 	  Set Conn = Server.CreateObject("ADODB.Connection")	  Conn.Open ConString	  	  SQL = "INSERT INTO produtos (inicial,venda) VALUES ("&inicial&", "&venda&")"	  Response.Write(SQL)

Compartilhar este post


Link para o post
Compartilhar em outros sites

falta colocar os campos da tabela no sql!! percentual, total_inicial, total_venda, total_percentual faça como o shumi colocou no outro post SQL = "INSERT INTO CL1 (inicial, venda, percentual, total_inicial, total_venda, total_percentual) VALUES ("&inicial&", "&venda&", "&percentual&", "&total_inicial&", "&total_venda&", "&total_percentual&")"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu retirei todos esses campos para me dar menos trabalho. Caso funcionasse colocaria de novo ou então não colocaria como vocês mesmos disseram para eu não usar os Totais em tabela

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou explicar uma coisa agora pra ver se eu estou vacilando em algo, pois fiz um outro insert into que eu tinha aqui funcionando e não deu erro e inseriu no BD, aí tentei adaptar aos meus campos e funcionou em termos, vou explicar melhor.Meu BD se chama Teste.mdb, dentro dele tenho uma tabela chamada produtos que contem os campos numéricos:TAMANHO (que foram preenchidos com os valores: 1,2,3,4,6,8,10)INICIAL (esse campo é vazio, pois o usuário é quem vai fornecer esse valor)VENDA (esse campo tb é vazio, pois o usuário é quem vai fornecer esse valor)E eu estava dando um Select no tamanho pra ele me mostrar todos os tamanhos que tenho e ao lado de cada tamanho Inicial e Venda. Talvez eu esteja esquecendo de colocar alguma coisa no código e por isso deve estar dando erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri o pq ele não estava inserindo no BD, ao invés de colocar o & na frente e depois das variáveis dos campos coloquei + e funcionou. Ele não inseriu ao lado dos tamanhos, inseriu no final do registro.

 

Veja como está agora a minha insere.asp

<!-- #include file="db.asp" --><html><body><%  	 inicial = Request.Form("inicial")	  venda = Request.Form("venda")		 	  Set Conn = Server.CreateObject("ADODB.Connection")	  Conn.Open ConString	  	  SQL = "INSERT INTO produtos (inicial,venda) VALUES ("+inicial+", "+venda+")"Conn.Execute(SQL)%><p>comando <%=SQL%> foi executado. <br>Os dados foram inseridos.</p></body></html>

 

Vou tentar mexer em algumas coisas aqui no código pra ver se funciona 100% inserindo os dados ao lado de cada tamanho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito ter uma idéia do que está acontecendo agora, mas não sei bem como resolver.Eu havia criado dentro da minha página teste.asp algo que fizesse meu registro "andar", ou seja , acrescentar mais linhas de acordo com o que tenho na tabela do BD. Pois eu só criei uma tabela no Form de 1 linha e 3 colunas e quero que o resto venha automaticamente, senão vou ter que nomear as caixas de entrada de dados uma a uma e isso não é viável. De acordo com o que estava fazendo antes, ele me mostrava a tabela do jeito que eu queria, mas com esse trecho do código ele não insere. Então tirei e funcionou, só que agora ele me mostra na tela somente o tamanho 1 e os dados só pra preencher esse tamanho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao tiazinhamas se voce tira os campos o numero de campos fica diferente do numero de valores ai nao funcionacoloca tudo de volta e vamos ver o proximo erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

marioufpa,Eu tirei os campos do código asp e da tabela. Estou trabalhando somente com os seguintes campos:TAMANHO, INICIAL e VENDA.O problema de agora é que quero que ele me mostre o seguinte:TAMANHO INICIAL VENDA1234681012Onde INICIAL e VENDA são valores que o usuário vai digitar. E o problema é que ele só está mostrando na tela a primeira linha, que é a linha do TAMANHO 1

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.