Ir para conteúdo

POWERED BY:

Arquivado

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

André Mailho

[Resolvido] conectar um DropDowList ao SQL Manager 2008 usando C#

Recommended Posts

Ola pessoal, gostaria da ajuda de voces para conectar um dropDrowList ao meu banco de dados em SQL (SQL manager 2008). estou programando em C# para um site em ASP.net; encontrei bastante coisa na internet mas nada especifico! como sou iniciante nao consegui adaptar para as minhas necessidades, entao decidi recorrer ao forum ^^.

Eu consegui fazer pelo modo Design, mas tenho que fazer em codigo mesmo para entender como funciona.

 

até agora eu tenho apenas o codigo que conecta o dropDow ao banco, mas ele nao mostra nada:

 

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
		{
			string connStr = "Data Source=COLDWELL08;Initial Catalog=andreLogin_db; Persist Security Info=True; User ID=and; password=123";
			SqlConnection conexao = new SqlConnection(connStr);
		  
			conexao.Open();

			string ler_tabela = "select nome from validar";
			SqlCommand oComm = new SqlCommand(ler_tabela, conexao);
			SqlDataReader dados = oComm.ExecuteReader();
		}

		}

Na minha tabela no SQL tenhos as colunas Nome, Senha, Email. nome da tabela: validar, do banco: andreLogin_db.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao, eu ja tinha visto esse artigo quando pesquisei http://forum.imasters.com.br/public/style_emoticons/default/pinch.gif ! nao entendi muito bem por que a conexao que ele estabelece é para OLEDB, e nao SQL (manager 2008), eu tentei adapatar mas nao deu certo!

 

a partir desta parte para baixo eu nao conseui, sempre dava erro, nao reconhecendo os comandos ddl.DataSource e ddl.DataBind(); e eu nao sei pelo que substituir:

 

ddl.DataSource = oReader;
				ddl.DataBind();
			}
			catch (OleDbException oledbex)
			{
				throw oledbex;
			}
			finally
			{
				if(oConn.State == ConnectionState.Open)
					 oConn.Close();
			}
	}

se alguem puder me ajudar a adaptar para a minha versao do SQL seria muito bom.

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas não muda praticamente nada no seu código.

A diferença é que onde esta OleDbConnection ficará SqlConnection. Onde esta OleDbCommand ficará SqlCommand. E assim por diante. O artigo é bem simples.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tava dando o seguinte erro na string de conexao:

 

Object reference not set to an instance of an object.

 

string connStr = ConfigurationManager.ConnectionStrings["Data Source=COLDWELL08;Initial Catalog=andreLogin_db;Persist Security Info=True;User ID=sa;Password=coldwell"].ConnectionString;

 

dai eu substitui o:

 

string connStr = ConfigurationManager.ConnectionStrings["Data Source=COLDWELL08;Initial Catalog=andreLogin_db;Persist Security Info=True;User ID=sa;Password=coldwell"].ConnectionString;

 

 

por

 

string connStr = "Data Source=COLDWELL08;Initial Catalog=andreLogin_db;Persist Security Info=True;User ID=sa;Password=coldwell";

 

mas quando ele carrega o site e eu clico no botao ele nao carrega os nomes que estao no banco e nem mostra nada na label, no droDownList ele mostra isso:

 

System.Data.Common.DataRecordInternal

 

o que faço pra resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isto: ConfigurationManager.ConnectionStrings é quando você possui sua conexão armazenada no arquivo web.config.

No seu caso basta:

string connStr = "Data Source=COLDWELL08;Initial Catalog=andreLogin_db;Persist Security Info=True;User ID=sa;Password=coldwell";

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao, mas eu ja substitui essa string de conexao! agora ele ta dando outro problema!

 

quando ele carrega o site e eu clico no botao ele nao carrega os nomes que estao no banco e nem mostra nada na label, no droDownList ele mostra isso:

 

System.Data.Common.DataRecordInternal

 

ele deveria mostrar os registros que estao na tabela no SQL mas mostra isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using Microsoft.SqlServer;

using Microsoft.SqlServer.Server;

using System.Data.SqlClient;

 

namespace login_andre.src

{

public partial class home : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

lblData.Text = DateTime.Now.ToLongDateString();

}

 

protected void gerenciarFil_Click(object sender, EventArgs e)

{

Response.Redirect("gerenciarFiliais.aspx");

}

 

protected void gerenciarArq_Click(object sender, EventArgs e)

{

Response.Redirect("gerenciarArquivos.aspx");

}

 

protected void logout_Click(object sender, EventArgs e)

{

Response.Redirect("Default.aspx");

}

 

protected void btnPreencheDDL_Click(object sender, EventArgs e)

{

preencheDDL();

}

 

private void preencheDDL()

{

SqlConnection oConn = null;

SqlCommand oComm;

SqlDataReader oReader;

string sSQL;

 

sSQL = "SELECT email from validar";

string connStr = "Data Source=COLDWELL08;Initial Catalog=andreLogin_db;Persist Security Info=True;User ID=sa;Password=coldwell";

try

{

oConn = new SqlConnection(connStr);

oConn.Open();

 

oComm = new SqlCommand(sSQL, oConn);

oReader = oComm.ExecuteReader();

 

DropDownList.DataSource = oReader;

DropDownList.DataBind();

}

 

catch (SqlException oledbex)

{

throw oledbe;

}

finally

{

if (oConn.State == ConnectionState.Opne)

oConn.Close();

}

 

}

 

protected void DropDownList_SelectedIndexChanged(object sender, EventArgs e)

{

lblDDL.Text = "Voce selecionou" + DropDownList.SelectedItem.Text + " (" + DropDownList.SelectedItem.Value + ").";

}

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu código C# aparentemente esta OK. Tem uma parte do artigo que diz o seguinte:

* DropDownList - ID = ddl , AutoPostBack="True", DataTextField="ProductName", DataValueField="ProductID"

 

Você definiu o DataTextField e o DataValueField com o campo do seu select?

 

Abraços...

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.