Foros del Web » Programación para mayores de 30 ;) » .NET »

Error en sqldataReader

Estas en el tema de Error en sqldataReader en el foro de .NET en Foros del Web. tengo el siguiente problema, al compilar me da el siguiente error : Sintaxis incorrecta cerca de '='. el error lo tira en el dr = ...
  #1 (permalink)  
Antiguo 10/05/2012, 00:44
Avatar de Darsk  
Fecha de Ingreso: mayo-2011
Mensajes: 39
Antigüedad: 13 años
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:
  #2 (permalink)  
Antiguo 14/05/2012, 09:40
Avatar de othix  
Fecha de Ingreso: mayo-2011
Ubicación: Guatemala
Mensajes: 92
Antigüedad: 13 años
Puntos: 9
Respuesta: Error en sqldataReader

Revisa que nombre_asig tenga datos

en esta parte
string nombre_asig = cbAsignatura.Items[ind].Text;
__________________
"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas."

Etiquetas: c#
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:12.