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";
}
}
}