Ir para conteúdo

POWERED BY:

Arquivado

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

Tiego Douglas

[Resolvido] (DB_E_ErrorSOccurred ( 0X80040E21)

Recommended Posts

Boa tarde pessoal, mais uma vez eu me encontro com um problema e não consigo achar a solução.

Recentemente adiquiri video aulas do MACORATTI e a 3 semanas me deparo com esse erro e estou muito stressado. este fórum tem sido sempre meu ultimo refugio, por favor alguém pode me ajudar?

 

A aplicação não da erro de código, porém não abre a conexão!!!! me ajudem!!!!!

 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
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 System.Data.SqlClient;
using System.Data.Odbc;
using System.Data.OleDb;

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

	{
//não sei se pode ser assim ?	  
  //String con = @"Provider=SQLOLEDB; Data Source=.\SQLEXPRESS;AttachDbFilename=C:\SQL Server 2000 Sample Databases\NORTHWND.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True";

		//uma outra maneira de conexão
//não sei se pode ser assim ?
	   //private String con = ConfigurationManager.ConnectionStrings["conexao"].ConnectionString;



		protected void Page_Load(object sender, EventArgs e)

			{
			if (!Page.IsPostBack)
			{
				montacliente();
			}
		}
	   private void montacliente()
		{
			OleDbConnection con = new OleDbConnection(@"Provider=SQLOLEDB;initial catalog=NORTHWIND; Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Documents and Settings\User\Desktop\estudando o macoratti\desenwebapp\App_Data\NORTHWIND.MDF;Integrated Security=True;Connect Timeout=30;Workstation ID=TIEGO;User Instance=True;Context Connection=False");

		   
			   OleDbCommand   cmd = new  OleDbCommand ();
			   OleDbDataReader   dr;
			   string cmdteste = "sp_CustomersList";
		
		   try
		   {
			   con.Open();
			   con = new OleDbConnection  ();
			   cmd = new OleDbCommand (cmdteste, con);
			   cmd.CommandType = CommandType.StoredProcedure;
			   dr = cmd.ExecuteReader();

			   lstClientes.DataTextField = "CompanyName";
			   lstClientes.DataValueField = "CustomerID";
			   lstClientes.DataSource = dr;
			   lstClientes.DataBind();
			   dr.Close();
			  }
			finally  
			{

				con.Close();
			}

		}

		protected void lstClientes_SelectedIndexChanged(object sender, EventArgs e)

		{

			OleDbConnection  con = new OleDbConnection ();
			OleDbCommand  cmd = new OleDbCommand ();
			OleDbDataReader  dr;
			string cmdText = "sp_CustumersDados";
			try
			{
				con = new OleDbConnection  ();
				con.Open();

				cmd = new OleDbCommand (cmdText, con);
				cmd.CommandType = CommandType.StoredProcedure;
				OleDbParameter  pCodigo = new OleDbParameter ("@codigo",SqlDbType.VarChar);
				pCodigo.Value = lstClientes.SelectedItem.Value;
				cmd.Parameters.Add(pCodigo);
				dr = cmd.ExecuteReader();
				if (dr.Read())
				{
					txtcodigo.Text = dr["CustumersID"].ToString();
					txtempresa.Text= dr["CompanyName"].ToString();
					txtcontato.Text = dr["ContactName"].ToString();
					txtcargo.Text = dr["ContactTitle"].ToString();
					txtendereco.Text = dr["Adress"].ToString();
				}
				dr.Close();
				}
			finally
			{
				con.Close();
			}
		}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente com sua string de conexão da seguinte forma somente:

 

Server=.\SQLExpress;AttachDbFilename=c:\mydbfile.mdf;Database=dbname; Trusted_Connection=Yes;

 

 

É uma boa prática incluir a string de conexão no arquivo CONFIG da aplicação e carregar através do ConfigurationManager. Mas ambas as formas funcionam (ou pelo menos deveriam funcionar).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente com sua string de conexão da seguinte forma somente:

 

Server=.\SQLExpress;AttachDbFilename=c:\mydbfile.mdf;Database=dbname; Trusted_Connection=Yes;

 

 

É uma boa prática incluir a string de conexão no arquivo CONFIG da aplicação e carregar através do ConfigurationManager. Mas ambas as formas funcionam (ou pelo menos deveriam funcionar).

 

Juliano, essa string funcionaria se ele estivesse usando o SQLClient, mas note que no código ele usa OleDB.

 

Tiego, acesse http://www.connectionstrings.com/ e veja a melhor string de conexão para o banco e o seu método de conexão.

 

 

Abraços,

Romulo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, consegui!!!

 

con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\banco.MDF;Integrated Security=True;User Instance=True";

 

essa seria a string correta, então sabe o que eu fiz, eu criei um novo web forme, joguei lá um data grid, depois joguei isto é arrastei um sql datasource criei uma conexão, dai ele me mostrou a string, dai foi só copiar e colar...

 

e por ultimo eu mudei de oledb para sqlclient, ficou assim:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
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 System.Data.OleDb;
using System.Data.SqlClient;


public partial class cadastro : System.Web.UI.Page
{
	private void montacliente()
	{

		SqlConnection con = new SqlConnection();
		con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\banco.MDF;Integrated Security=True;User Instance=True";

		SqlCommand cmd = new SqlCommand();
		SqlDataReader dr;
		string cmdteste = "sp_CustomersList";

		try
		{
			con.Open();
			cmd = new SqlCommand(cmdteste, con);

			cmd.CommandType = CommandType.StoredProcedure;
			dr = cmd.ExecuteReader();

			lstClientes.DataTextField = "CompanyName";
			lstClientes.DataValueField = "CustomerID";
			lstClientes.DataSource = dr;
			lstClientes.DataBind();
			dr.Close();
		}

		finally
		{
			con.Close();

		}
	}
	protected void Page_Load(object sender, EventArgs e)
	{
		if (!Page.IsPostBack)
		{
			montacliente();
		}
	}
	protected void lstClientes_SelectedIndexChanged(object sender, EventArgs e)
	{
	  SqlConnection con = new SqlConnection();
	   con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\banco.MDF;Integrated Security=True;User Instance=True";

		SqlCommand cmd = new SqlCommand();
		SqlDataReader dr;
		string cmdText = "[b][color="#FF0000"]sp_CustomersDados[/color][/b]";

		try
		{
			con.Open();
			cmd = new SqlCommand(cmdText, con);
			cmd.CommandType = CommandType.StoredProcedure;
			SqlParameter pCodigo = new SqlParameter("@codigo", SqlDbType.VarChar);
			pCodigo.Value = lstClientes.SelectedItem.Value;
			cmd.Parameters.Add(pCodigo);
			dr = cmd.ExecuteReader();
			if (dr.Read())
			{
				txtcodigo.Text = dr["CustumerID"].ToString();
				txtempresa.Text = dr["CompanyName"].ToString();
				txtcontato.Text = dr["ContactName"].ToString();
				txtcargo.Text = dr["ContactTitle"].ToString();
				txtendereco.Text = dr["Address"].ToString();
			}
			dr.Close();
		}

		finally
		{
			con.Close();
		}

		lblresultado.Text = "";
 
	}
	protected void btnNovo_Click(object sender, EventArgs e)
	{
	   LimpaCampos();
	}

	 private void LimpaCampos()
	   {
		 txtcodigo.Text ="";  
		 txtempresa.Text="";
		 txtcontato.Text = "";
		 txtcargo.Text="";
		 txtendereco.Text = "";

	  
	 }

	protected void btnInserir_Click(object sender, EventArgs e)
	{
		SqlConnection con = new SqlConnection();
		con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\banco.MDF;Integrated Security=True;User Instance=True";
		SqlCommand cmd = new SqlCommand();

		try
		{
			con.Open();
			cmd = new SqlCommand("sp_CustomersInsert",con);
			cmd.CommandType = CommandType.StoredProcedure;
		   
			//codigo
			SqlParameter pcodigo = new SqlParameter("@codigo", SqlDbType.VarChar);
			pcodigo.Value = txtcodigo.Text;
			cmd.Parameters.Add(pcodigo);

			//empresa
			SqlParameter pempresa = new SqlParameter("@empresa", SqlDbType.VarChar);
			pempresa.Value = txtempresa.Text;
			cmd.Parameters.Add(pempresa);

			//contato
			SqlParameter pcontato = new SqlParameter("@contato", SqlDbType.VarChar);
			pcontato.Value = txtcontato.Text;
			cmd.Parameters.Add(pcontato);

			//cargo
			SqlParameter pcargo = new SqlParameter("@cargo", SqlDbType.VarChar);
			pcargo.Value = txtcargo.Text;
			cmd.Parameters.Add(pcargo);

			//endereco
			SqlParameter pendereco = new SqlParameter("@endereco", SqlDbType.VarChar);
			pendereco.Value = txtendereco.Text;
			cmd.Parameters.Add(pendereco);

			//executa
			cmd.ExecuteNonQuery();
			lblresultado.Text = "Empresa cadastrada com sucesso!";
			LimpaCampos();
			montacliente();
 

		}
		finally
		{ 

		}
	}
	protected void btnExcluir_Click(object sender, EventArgs e)
	{
		//excluir
		SqlConnection con = new SqlConnection();
		con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\banco.MDF;Integrated Security=True;User Instance=True";
		SqlCommand cmd = new SqlCommand();

		try
		{
			con.Open();
			cmd = new SqlCommand("sp_CustomersDelete", con);
			cmd.CommandType = CommandType.StoredProcedure;
			SqlParameter pcodigo = new SqlParameter("@codigo", SqlDbType.VarChar);
			pcodigo.Value = txtcodigo.Text;
			cmd.Parameters.Add(pcodigo);
			cmd.ExecuteNonQuery();
			lblresultado.Text = "Empresa Excluída com sucesso!";
			LimpaCampos();
			montacliente();
		}

		finally 
		{
		
		}

	}
	protected void btnAtualizar_Click(object sender, EventArgs e)
	{
		//atualizar
		SqlConnection con = new SqlConnection();
		con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\banco.MDF;Integrated Security=True;User Instance=True";
		SqlCommand cmd = new SqlCommand();

		try
		{
			con.Open();
			cmd = new SqlCommand("sp_CustomersUpdate", con);
			cmd.CommandType = CommandType.StoredProcedure;

			//codigo
			SqlParameter pcodigo = new SqlParameter("@codigo", SqlDbType.VarChar);
			pcodigo.Value = txtcodigo.Text;
			cmd.Parameters.Add(pcodigo);

			//empresa
			SqlParameter pempresa = new SqlParameter("@empresa", SqlDbType.VarChar);
			pempresa.Value = txtempresa.Text;
			cmd.Parameters.Add(pempresa);

			//contato
			SqlParameter pcontato = new SqlParameter("@contato", SqlDbType.VarChar);
			pcontato.Value = txtcontato.Text;
			cmd.Parameters.Add(pcontato);

			//cargo
			SqlParameter pcargo = new SqlParameter("@cargo", SqlDbType.VarChar);
			pcargo.Value = txtcargo.Text;
			cmd.Parameters.Add(pcargo);

			//endereco
			SqlParameter pendereco = new SqlParameter("@endereco", SqlDbType.VarChar);
			pendereco.Value = txtendereco.Text;
			cmd.Parameters.Add(pendereco);
			
			//executa
			cmd.ExecuteNonQuery();
			lblresultado.Text = "Empresa Atualizada com sucesso!";
			LimpaCampos();
			montacliente();
		}

		finally
		{

		}


	}
}

porém agora estou com um novo problema, como eu disse estou fazendo video aulas e na video aula não mostra o conteudo da stored procedure

sp_customersDados preciso que alguem me ajude a escrevelá, como é um novo assunto vou criar um novo tópico.

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.