Ir para conteúdo

Arquivado

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

Bruno Caminada

Busca em banco de dados Access

Recommended Posts

Olá!

 

Tenho um form com um Drop Down List, um botão e um DataGrid. Tambem tenho um script que pega o objeto selecionado do dropdownlist e faz um select no meu banco de dados, mas eu estou tendo server errors. Alguem tem uma luz? Ai vai o código e o erro:

 

<%@ Page Language="C#" %><%@ import Namespace="System.Data" %><%@ import Namespace="System.Data.OleDb" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">	protected void Button1_Click(object sender, EventArgs e)	{		OleDbConnection Conexao = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Documentos\\Visual Studio 2005\\Projects\\WebSite2 (2)\\geral.mdb");		OleDbDataAdapter Adapter = new OleDbDataAdapter("SELECT DISTINCT [REFERENCIA], [CIDADE], [BAIRRO], [TIPO], [AREA], [PRECO], [GARAGENS], [DORMITOR] FROM [Internet] WHERE [BAIRRO] =" + lista2.Text, Conexao);		DataSet Das = new DataSet();		Conexao.Open();		Adapter.Fill(Das, "Internet");		if (Das != null)		{			DataGrid1.DataSource = Das;			DataGrid1.DataBind();		}	}</script><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server">	<title>Untitled Page</title></head><body>	<form id="form1" runat="server">	<div><asp:DropDownList		ID="lista2" runat="server">		<asp:ListItem>HIPICA</asp:ListItem>		<asp:ListItem>OKINAWA</asp:ListItem>		<asp:ListItem>SANTA GENEBRA</asp:ListItem>	</asp:DropDownList>		<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> 		</div>		<br />		<asp:DataGrid ID="DataGrid1" runat="server">		</asp:DataGrid>	</form></body></html>

Server Error in '/WebSite2' Application.

Nenhum valor foi fornecido para um ou mais parâmetros necessários.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

 

Exception Details: System.Data.OleDb.OleDbException: Nenhum valor foi fornecido para um ou mais parâmetros necessários.

 

Source Error:

 

Line 12: DataSet Das = new DataSet();

Line 13: Conexao.Open();

Line 14: Adapter.Fill(Das, "Internet");

Line 15: if (Das != null)

Line 16: {

 

 

Source File: c:\Inetpub\wwwroot\WebSite2\Default.aspx Line: 14

 

Stack Trace:

 

[OleDbException (0x80040e10): Nenhum valor foi fornecido para um ou mais parâmetros necessários.]

System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +267

System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +192

System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +48

System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +106

System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) +111

System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehav

ior behavior) +4

System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +141

System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +137

System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +83

ASP.default_aspx.Button1_Click(Object sender, EventArgs e) in c:\Inetpub\wwwroot\WebSite2\Default.aspx:14

System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105

System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107

System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBa

ckEvent(String eventArgument) +7

System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11

System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33

System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai pessoal, tudo beleza ??em : WHERE [bAIRRO] =" + lista2.Textnão está faltando as aspas simples ???, ou o seu bairro é definido por algum número de referência ??? e se a sua busca for realmente pelo nome do bairro tente da seguinte forma: .... WHERE [bAIRRO] = '" + lista2.SelectedItem.Text + "'"Um abraço , Rafael Martins.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com certeza o problema deve estar no seu sql.se estiver utilizando o visual studio, utilize o codebehind onde os codigos em cs são separados do html.É a melhor prática , pois você pode debugar sua aplicação e encontrar o error muito rápido.agora utilizando tudo na tag script, além de você nao ter o recurso do intelecençe você ainda nao tem como depurar o erro.Se começar a ter o hábito de utilizar o codebehind , sua vida dentro da plataforma .net vai melhorar consideravelmente.,abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai pessoal, tudo beleza ??em : WHERE [bAIRRO] =" + lista2.Textnão está faltando as aspas simples ???, ou o seu bairro é definido por algum número de referência ??? e se a sua busca for realmente pelo nome do bairro tente da seguinte forma: .... WHERE [bAIRRO] = '" + lista2.SelectedItem.Text + "'"Um abraço , Rafael Martins.

Caramba, funcionou! Eu nem sabia que quando a busca é pelo nome e não pelo número eu precisava de aspas simples! Obrigadao! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Com certeza o problema deve estar no seu sql.se estiver utilizando o visual studio, utilize o codebehind onde os codigos em cs são separados do html.É a melhor prática , pois você pode debugar sua aplicação e encontrar o error muito rápido.agora utilizando tudo na tag script, além de você nao ter o recurso do intelecençe você ainda nao tem como depurar o erro.Se começar a ter o hábito de utilizar o codebehind , sua vida dentro da plataforma .net vai melhorar consideravelmente.,abraço.

Valeu pela dica! Vou refazer meu projeto usando o codebehind! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.