SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: apocalyp en Viernes 4 de Agosto de 2006, 11:11
-
por favor si me podeis ayudar con este error........
El nombre número 'System.Web.UI.WebControls' contiene demasiados prefijos. El máximo es 3.
Descripción:
Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.
Detalles de la excepción:
System.Data.SqlClient.SqlException: El nombre número 'System.Web.UI.WebControls' contiene demasiados prefijos. El máximo es 3.
Error de código fuente:
Línea 108: SqlCommand cmdInsertar = new SqlCommand(insertarSQL, conFernandoBD);
Línea 109: conFernandoBD.Open();
Línea 110: cmdInsertar.ExecuteNonQuery();
Línea 111: conFernandoBD.Close();
Línea 112: }
Archivo de origen: c:\inetpub\wwwroot\webfer\webform2.aspx.cs Línea: 110
Seguimiento de la pila:
[SqlException: El nombre número 'System.Web.UI.WebControls' contiene demasiados prefijos. El máximo es 3.]
System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
WebFer.WebForm2.Button1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\webfer\webform2.aspx.cs:110
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
-
ni idea.. pero te sale solo en ese proyecto no?
-
muestra el codigo relacionado
-
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace WebFer
{
/// <summary>
/// Summary description for WebForm2.
/// </summary>
public class WebForm2 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.Label Label3;
protected System.Web.UI.WebControls.Label Label4;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
protected System.Web.UI.WebControls.ValidationSummary ValidationSummary1;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Label Label5;
protected System.Web.UI.WebControls.TextBox TextNumSegSocial;
protected System.Web.UI.WebControls.TextBox TextDepartamento;
protected System.Web.UI.WebControls.TextBox TextSueldo;
protected System.Web.UI.WebControls.TextBox TextContrato;
protected System.Web.UI.WebControls.TextBox TextNIF;
protected System.Web.UI.WebControls.Label Label6;
protected System.Web.UI.WebControls.Label Label7;
protected System.Web.UI.WebControls.DropDownList DropDownList1;
public SqlConnection conFernandoBD;
public SqlCommand cmdSelect;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator3;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator4;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator5;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator6;
public string comandoBD = "data source=SGB-HBS-EXT;persist security info=false;Trusted_Connection=yes;initial catalog=fernandoDB;user id=sa; password=;";
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
conFernandoBD= new SqlConnection(comandoBD);
cmdSelect = new SqlCommand("Select * from Empresa", conFernandoBD);
conFernandoBD.Open();
//aqui es donde utilizo un dataReader en vez de un dataSet (dataAdapter)
SqlDataReader dtrEmpresas;
dtrEmpresas = cmdSelect.ExecuteReader();
// se vuelcan los datos en dropdownlist(el menú desplegable)
DropDownList1.DataSource = dtrEmpresas;
// se mostrara al usuario los nombres de la empresa.
DropDownList1.DataTextField = "nombreEmpresa";
// pero intégramente se guardará el código de la empresa que es lo que
// se insertará en el registro
DropDownList1.DataValueField = "idEmpresa";
DropDownList1.DataBind();
dtrEmpresas.Close();
conFernandoBD.Close();
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.TextNumSegSocial.TextChanged += new System.EventHandler(this.TextBox1_TextChanged);
this.TextDepartamento.TextChanged += new System.EventHandler(this.TextBox2_TextChanged);
this.TextSueldo.TextChanged += new System.EventHandler(this.TextBox3_TextChanged);
this.TextContrato.TextChanged += new System.EventHandler(this.TextBox4_TextChanged);
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.TextNIF.TextChanged += new System.EventHandler(this.TextBox5_TextChanged);
this.DropDownList1.SelectedIndexChanged += new System.EventHandler(this.DropDownList_SelectedIndexChanged);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void TextBox1_TextChanged(object sender, System.EventArgs e)
{
}
private void Button1_Click(object sender, System.EventArgs e)
{
conFernandoBD= new SqlConnection(comandoBD);
string insertarSQL = "INSERT INTO Trabajadores VALUES(" + TextNIF + "," + TextNumSegSocial +
"," + TextDepartamento + "," + TextSueldo + "," + TextContrato + "," + DropDownList1 + ")";
SqlCommand cmdInsertar = new SqlCommand(insertarSQL, conFernandoBD);
conFernandoBD.Open();
cmdInsertar.ExecuteNonQuery();
conFernandoBD.Close();
}
private void TextBox2_TextChanged(object sender, System.EventArgs e)
{
}
private void TextBox3_TextChanged(object sender, System.EventArgs e)
{
}
private void TextBox4_TextChanged(object sender, System.EventArgs e)
{
}
private void TextBox5_TextChanged(object sender, System.EventArgs e)
{
}
private void DropDownList_SelectedIndexChanged(object sender, System.EventArgs e)
{
}
}
}
-
El error esta en:
string insertarSQL = "INSERT INTO Trabajadores VALUES(" + TextNIF + "," + TextNumSegSocial +
"," + TextDepartamento + "," + TextSueldo + "," + TextContrato + "," + DropDownList1 + ")";
deberia ser (aunque no esta probado):
string insertarSQL = "INSERT INTO Trabajadores VALUES('" + TextNIF.Text + "','" + TextNumSegSocial.Text +
"','" + TextDepartamento.Text + "'," + TextSueldo.Text + ",'" + TextContrato.Text + "','" + DropDownList1.SelectedValue + "')";
a proposito, jamas armes ese tipo de consultas SQL (son propensas a SQL Injection), en su lugar utiliza consultas parametrizadas
-
muchas gracias, ese era el fallo, pero vaya manera de reportar el fallo tiene el visual