Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/05/2012, 00:44
Avatar de Darsk
Darsk
 
Fecha de Ingreso: mayo-2011
Mensajes: 39
Antigüedad: 13 años, 9 meses
Puntos: 0
Error en sqldataReader

tengo el siguiente problema, al compilar me da el siguiente error : Sintaxis incorrecta cerca de '='. el error lo tira en el dr = cmd.ExecuteReader(); linea 54 del siguiente codigo:


using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

private void buscarNota(int ind)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=NICOLAS-PC;Initial Catalog=bd_notasAlumnos;Integrated Security=True";
//Objeto orden de sql
SqlCommand cmd = null;
//Objeto lector de los datos
SqlDataReader dr = null;
int id_asig = 0;//Identificador de la asignatura
string nombre_asig = cbAsignatura.Items[ind].Text;
//try
//{
con.Open();
string consulta = "SELECT id_asignatura " +
"FROM asignaturas " +
"WHERE nombre='" + nombre_asig + "'";
cmd = new SqlCommand(consulta, con);
//ExecuteReader hace la consulta y devuelve un sqlDataReader
dr = cmd.ExecuteReader();
//LLamar siempre al read antes de acceder a los datos
if (dr.Read())
id_asig = (int)dr["id_asignatura"];

dr.Close();
dr = null;
////////////////////////////////////
//Consulta para buscar el numero y la nota del alumno " txDni"
//Nombre de la tabla="notasAsig" & id_asignatura.
//string consulta2;
consulta = "SELECT nombre, nota FROM notasAsig" +
id_asig + "WHERE id_alumno=" +
Convert.ToInt32(txDni.Text);
cmd = new SqlCommand(consulta, con);
dr = cmd.ExecuteReader();
if (dr.Read())
{
//Mostrar en la pagina el nombre y la nota
lbNombre.Text = "Nombre : " + dr["nombre"];
lbNota.Text = "Nota : " + dr["nota"];

}
else
{
//El alumno buscado no se encontro
lbNombre.Text = "";
lbNota.Text = "";
lbError.Text = "No esta en acta";

}
//Llamar siempre al close una vez finalizada la lectura
dr.Close();
dr = null;
//}
//catch (System.IO.IOException ex)
//{
//lbError.Text = "Error : " + ex.Message;

//}


//finally
//{
//En cualquier caso cerrar la conexion
//if (dr != null) dr.Close();
//if (con != null) con.Close();

//}



}




protected void btConsultar_Click(object sender, EventArgs e)
{
buscarNota(cbAsignatura.SelectedIndex);
}
}


[SqlException (0x80131904): Sintaxis incorrecta cerca de '='.]
System.Data.SqlClient.SqlConnection.OnError(SqlExc eption exception, Boolean breakConnection) +1951450
System.Data.SqlClient.SqlInternalConnection.OnErro r(SqlException exception, Boolean breakConnection) +4849003
System.Data.SqlClient.TdsParser.ThrowExceptionAndW arning(TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2394
System.Data.SqlClient.SqlDataReader.ConsumeMetaDat a() +33
System.Data.SqlClient.SqlDataReader.get_MetaData() +83
System.Data.SqlClient.SqlCommand.FinishExecuteRead er(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
System.Data.SqlClient.SqlCommand.RunExecuteReaderT ds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +954
System.Data.SqlClient.SqlCommand.RunExecuteReader( CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +162
System.Data.SqlClient.SqlCommand.RunExecuteReader( CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
System.Data.SqlClient.SqlCommand.ExecuteReader(Com mandBehavior behavior, String method) +141
System.Data.SqlClient.SqlCommand.ExecuteReader() +89
_Default.buscarNota(Int32 ind) in c:\inetpub\wwwroot\WebSite5\FormWebNotas.aspx.cs:5 4
_Default.btConsultar_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\WebSite5\FormWebNotas.aspx.cs:9 8
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEven t(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPo stBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEve ntHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCol lection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565




Ya estoy desesperado y frustrado, seguire luchando contra esto pero si alguien em puede abrir los ojos, mejor aun, de ante mano gracias.
Lo que me dice el ide es lo siguiente: