none
Erro ao exibir o carrinho de compra

    Pergunta

  • Caros amigos!

    Venho aqui solicitar uma ajuda de vocês, pois estou tenho alguns problemas com a hospedagem que estou começando a trabalhar.

    Ate o momento lista todos os produtos,incluo o produto no carrinho, porem quando eu clico no link "Meu Carrinho" me apareçe o erro listado abaixo:

    A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

    Aparenta ser erro com a coneção, porem eu consigo fazer listagem,busca normalmente sem nenhum problema.

    Vou deixar a parte que listo o carrinho caso possa ser algum problema e o web.config

    WebConfig

    1<?xml version="1.0"?>
    <configuration>
      <connectionStrings>
        <add name="STRING_CONNECTION" connectionString="Data Source=XXXXXXXX;Initial Catalog=XXXXXXX;User ID=XXXXXXX; Password=XXXXXXX;" providerName="System.Data.SqlClient"/>
      </connectionStrings>
      <appSettings>
      </appSettings>
      <system.web>
        <membership defaultProvider="ViviStorilloMembershipProvider" userIsOnlineTimeWindow="30">
          <providers>
            <clear/>
            <add name="ViviStorilloMembershipProvider" connectionStringName="STRING_CONNECTION" applicationName="ViviStorillo" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="2147483647" passwordAttemptWindow="10" minRequiredPasswordLength="3" minRequiredNonalphanumericCharacters="0" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
          </providers>
        </membership>
        <roleManager enabled="true" />
        <httpRuntime maxRequestLength="50000" executionTimeout="50000" shutdownTimeout="50000"/>
        <httpHandlers>
          <add verb="GET" path="CaptchaImage.axd" type="MSCaptcha.captchaImageHandler, MSCaptcha" />
        </httpHandlers>
        <authorization>
          <allow users="*"/>
        </authorization>
        <authentication mode="Forms">
          <forms name="FORMAUTH" loginUrl="~/Cliente/Identificacao/Default.aspx"
            defaultUrl="~/" cookieless="UseCookies" />
        </authentication>
        <globalization fileEncoding="ISO-8859-1" requestEncoding="UTF-8" responseHeaderEncoding="UTF-8" responseEncoding="UTF-8" culture="pt-BR" uiCulture="pt-BR"/>
        <pages enableEventValidation="false" validateRequest="false" theme="Style" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
        <customErrors defaultRedirect="" mode="Off"/>
        <compilation debug="true" targetFramework="4.0">
          <assemblies>
            <add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Configuration.Install, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.DirectoryServices.Protocols, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Web.RegularExpressions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Messaging, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
          </assemblies>
        </compilation>
      </system.web>
      <system.web.extensions>
        <scripting>
          <scriptResourceHandler enableCompression="true" enableCaching="true"/>
        </scripting>
      </system.web.extensions>
      <system.webServer>
    	<validation validateIntegratedModeConfiguration="false" />
        <handlers>
          <remove name="WebServiceHandlerFactory-ISAPI-2.0"/>
          <add name="MSCaptcha.captchaImageHandler" verb="GET" path="CaptchaImage.axd" type="MSCaptcha.captchaImageHandler, MSCaptcha" resourceType="Unspecified" />
        </handlers>
      </system.webServer>
    </configuration>

    Carrinho.ascx

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Produto;
    using Pedido;
    using System.Web.Security;
    using Cliente;
    using PedidoQuantidade;
    using ClienteEndereco;
    
    
    
    public partial class UserControl_Carrinho_wucCarrinho : System.Web.UI.UserControl
    {
        #region .: Variable :.
        private int intQuantiaTotal;
        private Double blnTotalCompra;
        #endregion
    
        #region .: Property to Class :.
        public int QuantiaTotal
        {
            get
            {
                if (this.ViewState["QuantiaTotal"] == null)
                    return 0;
                else
                    return Convert.ToInt32(this.ViewState["QuantiaTotal"].ToString());
            }
            set
            {
                this.ViewState["QuantiaTotal"] = value;
                intQuantiaTotal = value;
            }
        }
        public Double TotalCompra
        {
            get
            {
                if (this.ViewState["TotalCompra"] == null)
                    return 0;
                else
                    return Convert.ToDouble(this.ViewState["TotalCompra"].ToString());
            }
            set
            {
                this.ViewState["TotalCompra"] = value;
                blnTotalCompra = value;
            }
        }
        #endregion
    
        #region .: Eventos :.
        protected void Page_Load(object sender, EventArgs e)
        {
            PopulaListagemCarrinho();
        }
        /// <summary>
        /// Popula a Quantidade de cada produto, e calcula o total de cada produto
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void gvwCarrinho_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                HttpCookie cookie = (HttpCookie)Request.Cookies["Vivi_Carrinho"];
                Literal litQuantidade = (Literal)e.Row.FindControl("litQuantidade");
                Literal litValorProduto = (Literal)e.Row.FindControl("litValorProduto");
                Literal litValorTotal = (Literal)e.Row.FindControl("litValorTotal");
                int intQuantia = int.Parse(cookie.Values.AllKeys[e.Row.DataItemIndex].Split(',')[1]);
                this.QuantiaTotal += intQuantia;
                this.TotalCompra += (Convert.ToDouble(intQuantia) * (double.Parse(litValorProduto.Text.Replace("R$", ""))));
                litQuantidade.Text = intQuantia.ToString();
                litValorTotal.Text = (Convert.ToDouble(intQuantia) * (double.Parse(litValorProduto.Text.Replace("R$", "")))).ToString("C");
            }
            if (e.Row.RowType == DataControlRowType.Footer)
            {
                Literal litTotalQuantidade = (Literal)e.Row.FindControl("litTotalQuantidade");
                Literal litTotalCompra = (Literal)e.Row.FindControl("litTotalCompra");
                litTotalQuantidade.Text = this.QuantiaTotal.ToString();
                litTotalCompra.Text = this.TotalCompra.ToString("C");
            }
        }
        /// <summary>
        /// Efetua a reserva da compra para ser retirada na loja
        /// </summary>
        /// <param name="sender">object sender</param>
        /// <param name="e">EventArgs e</param>
        protected void btnRetirarBalcao_Click(object sender, EventArgs e)
        {
            ReservaPedido();
        }
        /// <summary>
        /// Efetua a compra do produto on-line
        /// </summary>
        /// <param name="sender">object sender</param>
        /// <param name="e">EventArgs e</param>
        protected void btnCompraOnline_Click(object sender, EventArgs e)
        {
            RealizaVenda();
    
        }
        protected void gvwCarrinho_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            int intID = (int)gvwCarrinho.DataKeys[e.RowIndex].Value;
            HttpCookie cookie = (HttpCookie)Request.Cookies["Vivi_Carrinho"];
            // Remove o id do produto do cookie
            cookie.Values.Remove(intID.ToString());
            Response.Cookies.Add(cookie);
    
        }
        #endregion
    
        #region .: Metodos :.
    
        public void PopulaListagemCarrinho()
        {
            string ids = null;
            int index = 1;
            char[] charsToTrim = { ',', ' ', '\'' };
            HttpCookie cookie = (HttpCookie)Request.Cookies["Vivi_Carrinho"];
            foreach (string item in cookie.Values.AllKeys)
            {
                string[] arrDefaultPath = item.Split(',');
                ids += arrDefaultPath[0];
    
                if (index < cookie.Values.AllKeys.Length)
                    ids += ",";
                index += 1;
            }
            ids = ids.TrimEnd(charsToTrim);
            gvwCarrinho.DataSource = ProdutoBLL.GetProdutosCarrinhoByIDProduto(ids);
            gvwCarrinho.DataBind();
        }
    
        public void ReservaPedido()
        {
            PedidoTO clsPedido = new PedidoTO();
            int intIDPedido = 0;
            PedidoQuantidadeTO clsPedidoQuantidade = new PedidoQuantidadeTO();
            MembershipUser User = Membership.GetUser();
            HttpCookie cookie = (HttpCookie)Request.Cookies["Vivi_Carrinho"];
            ClienteTO clsCliente = ClienteBLL.GetClienteByProvider(User.ProviderUserKey.ToString());
            clsPedido.ModoCompra = 1;
            clsPedido.Status = 3;
            clsPedido.ValorPedido = this.TotalCompra;
            foreach (string item in cookie.Values.AllKeys)
            {
                string[] arrDefaultPath = item.Split(',');
                clsPedido.IDProduto = int.Parse(arrDefaultPath[0]);
                clsPedidoQuantidade.IDProduto = int.Parse(arrDefaultPath[0]);
                clsPedidoQuantidade.Quantidade = int.Parse(arrDefaultPath[1]);
                clsPedido.TamanhoProduto = int.Parse(arrDefaultPath[2]);
                if (intIDPedido.Equals(0))
                {
                    clsPedidoQuantidade.IDPedido = PedidoBLL.Insert(clsPedido).ID;
                }
                else
                {
                    clsPedidoQuantidade.IDPedido = intIDPedido;
                }
                cookie.Values.Remove(clsPedidoQuantidade.IDProduto.ToString());
                Response.Cookies.Add(cookie);
            }
            cookie.Expires = DateTime.Now.AddDays(-1);
            Response.Cookies.Add(cookie);
            pnlCarrinho.Visible = false;
    
        }
    
        private void RealizaVenda()
        {
            PedidoTO clsPedido = new PedidoTO();
            MembershipUser User = Membership.GetUser();
            ClienteTO clsCliente = ClienteBLL.GetClienteByProvider(User.ProviderUserKey.ToString());
            ClienteEnderecoTO clsClienteEndereco = ClienteEnderecoBLL.GetClienteByIDCliente(clsCliente.ID);
            clsPedido.IDCliente = clsCliente.ID;
            clsPedido.ModoCompra = 1;
            clsPedido.Status = 3;
            clsPedido.ValorPedido = this.TotalCompra;
            int intIDPedido = PedidoBLL.Insert(clsPedido).ID;
            this.VendaPagSeguro1.CodigoReferencia = intIDPedido.ToString();
            HttpCookie cookie = (HttpCookie)Request.Cookies["Vivi_Carrinho"];
            //Instancie a lista de produtos a ser comprados
            this.VendaPagSeguro1.Produtos = new List<UOL.PagSeguro.Produto>();
            foreach (string item in cookie.Values.AllKeys)
            {
                string[] arrDefaultPath = item.Split(',');
                ProdutoTO clsProduto = ProdutoBLL.GetProdutosDetalhesByIDProduto(int.Parse(arrDefaultPath[0]));
                //Criando o produto para ser adicionado à venda do PagSeguro
                UOL.PagSeguro.Produto produto = new UOL.PagSeguro.Produto();
    
                produto.Codigo = clsProduto.ID.ToString();
                produto.Descricao = clsProduto.Produto;
                produto.Quantidade = int.Parse(arrDefaultPath[0]);
                produto.Valor = clsProduto.ValorProduto;
                //Adicionando o produto à venda do PagSeguro
                this.VendaPagSeguro1.Produtos.Add(produto);
            }
            //Informe ao componente, caso possível, os dados do cliente que está efetuando a compra
            this.VendaPagSeguro1.Cliente = new UOL.PagSeguro.Cliente();
            this.VendaPagSeguro1.Cliente.Nome = clsCliente.Nome;
            this.VendaPagSeguro1.Cliente.Email = clsCliente.Email;
            this.VendaPagSeguro1.Cliente.Cep = clsClienteEndereco.Cep;
            this.VendaPagSeguro1.Cliente.Cidade = clsClienteEndereco.Cidade;
            this.VendaPagSeguro1.Cliente.Bairro = clsClienteEndereco.Bairro;
            this.VendaPagSeguro1.Cliente.Uf = clsClienteEndereco.Estado;
            //Encaminhando ao PagSeguro para efetuar o pagamento
            this.VendaPagSeguro1.Executar(this.Response);
        }
        #endregion
    
    }

    Obrigado!


    "Nunca deixe que os outros te subestimen, mas tambem não seja arrogante seja humilde e prove quem é

    sexta-feira, 5 de outubro de 2012 13:30

Todas as Respostas

  • Verifique a conexão com o banco de dados e ou se o banco de dados esta acessível.
    sexta-feira, 4 de outubro de 2013 16:00
  • Caso sua string de conexão esteja correta verifique o servidor de acesso ao banco de dados se esta com a configuração da imagem abaixo, basta clicar com btn direito do mouse > propriedades > no box que vai abrir > connections com a ferramenta sql manager.

    Abraço!

    sexta-feira, 4 de outubro de 2013 16:35