Fórum - C# Brasil


Erro System.Data.SqlClient.SqlException: Incorrect syntax near the keyword 'INNER'. | ASP.NET | Forum

Este fórum requer JavaScript habilitado para a publicação de conteúdo
 
Este fórum está fechado – acesso somente para leitura
Você precisa fazer login para escrever mensagens Login


Recuperar Senha?

Pesquisar Fóruns:


 






Minimum search word length is 4 characters – Maximum search word length is 84 characters
Uso do Curinga nas Pesquisa:
*  igual a qualquer número de caracteres    %  igual a exatamente um caractere

Erro System.Data.SqlClient.SqlException: Incorrect syntax near the keyword 'INNER'.

Sem tags
UsuárioMensagem

9:23
18 setembro 2012


Raphael Cardoso

Ribeirão Preto, SP

Admin

editoriais 149

A concatenação da sua string sql está com problema.

Veja se assim funciona:

string sSql =   " SELECT Categories.CategoryID, Products.ProductName, Products.UnitsInStock, Products.UnitPrice " + 
                " FROM Categories " + 
                " INNER JOIN Products ON Categories.CategoryID = Products.CategoryID " +
                " GROUP BY Categories.CategoryID, Products.ProductName, Products.UnitsInStock, Products.UnitPrice " + 
                " HAVING Categories.CategoryID=@id";

Atenciosamente,
Raphael A. F. Cardoso
Blog: http://www.csharpbrasil.com.br
Twitter: @csharpbrasil / @ferronicardoso

“Se um dia você tiver que escolher entre o mundo e o amor, lembre-se: Se escolher o mundo ficará sem amor, mas se você escolher o amor, com ele conquistará o mundo” (Albert Einstein)

19:59
17 setembro 2012


juniorleles

New Member

editoriais 1

Galera estou com problema nesse código e não consigo resolver, alguém poderia dar uma olha pelo menos falar a origem desse erro. Agradeço.

 

Incorrect syntax near the keyword 'INNER'.

Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código.

Detalhes da Exceção: System.Data.SqlClient.SqlException: Incorrect syntax near the keyword 'INNER'.

Erro de Origem:

Linha 58: 
Linha 59:   SqlDataAdapter adapter = new SqlDataAdapter(cmd);
Linha 60: adapter.Fill(ds); 
Linha 61:    origem = new DataView(ds.Tables[0]);
Linha 62:                         }

  

Código:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Web.Configuration;
using System.Data;

public partial class Grade : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
        
        
        if (!IsPostBack)
        {
            DataList1.DataSource = OrigemDados();
            DataList1.DataBind();
            int entrada = 0;
            if (Int32.TryParse(Request.QueryString["Id"], out entrada))
            {
                lblCategoria.Text = "" + LegendaCategoria(entrada) + "<p/>";
            }
        }
    }
    DataView OrigemDados()
    {
        
        
            DataView origem = null;
            int entrada;
            if (Request.QueryString["Id"] != null)
            {
                if (!Int32.TryParse(Request.QueryString["Id"], out entrada)) return null;
                ConnectionStringSettings getStrig =
                    WebConfigurationManager.ConnectionStrings["nwind"] as ConnectionStringSettings;
                if (getStrig != null)
                {

                    string sSql = "SELECT Categories.CategoryID, Products.ProductName, Products.UnitsInStock, Products.UnitPrice" + "FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID" +
                        "GROUP BY Categories.CategoryID, Products.ProductName, Products.UnitsInStock, Products.UnitPrice" + "HAVING Categories.CategoryID=@id";

                    using (SqlConnection conn = new SqlConnection(getStrig.ConnectionString))
                    {
                       
                        
                            DataSet ds = new DataSet();
                            SqlParameter param = null;

                            SqlCommand cmd = new SqlCommand(sSql, conn);
                            cmd.CommandType = CommandType.Text;

                            param = cmd.Parameters.Add(new SqlParameter("@id", SqlDbType.Int));
                            param.Value = entrada;

                            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                            adapter.Fill(ds); // Incorrect syntax near the keyword 'INNER'. 
                           origem = new DataView(ds.Tables[0]);
                        }
                        
                        

                    }

                }
            



            else
            {
                return null;

            }
            return origem;
        }
    

    
    string LegendaCategoria(int i)
    {
        switch (i)
        {
            case 1:
                return "Bebidas";
            case 2:
                return "Condimentos";
            case 3:
                return "Confeitos";
            case 4:
                return "Laticínios";
            case 5:
                return "Grão/Cereais";
            case 6:
                return "Carnes/Aves";
            case 7:
                return "Hortigranjeiros";
            case 8:
                return "Frutos do Mar";
            default:
                return "Opção invalida";

        }
       }
    }

Sem tags


About the C# Brasil Forum

O fuso horário do Fórum:UTC -3

Maior Número de Usuários Online: 37

Online Agora: affonodiohaps, instantcashpayday
4 Visitantes

Atualmente navegando Tópico:
1 Visitante

Estatísticas do Fórum:

Grupos: 1
Fóruns: 16
Tópicos: 369
Editorias: 801

Grupo de Usuários:

Existem 3249 Membros
Houve 1 Visitante

Existem 3 Admins

Participantes mais ativos:

Fernando Jr. – 54
Alex – 22
Gabriel Gomes – 20
Elissantos – 20
piazao – 17
joelsoncarvalhojr – 12

Novos Membros Recentes: instantcashpayday, Bridojedo, Easjwnhye, Ekjztmatc, Wnjxxjggq, Xfjdvvdyy

Administradores: Raphael Cardoso (149 Mensagens), Rodrigo Coimbra (5 Mensagens), Thiago Suzuki (4 Mensagens)