Bienvenidos

Recuerda que tus comentarios son importantes y recuerda agradecer si te fue útil algun artículo publicado aquí.

L1f3 15 a D@nc3 Flo0r

lunes, 1 de marzo de 2010

The multi-part identifier "table.field" could not be bound

Este error te puede ocurrir en Sql si por ejemplo quieres actualizar un campo de una tabla con valores de un campo de otra tabla el cual tenga muchos valores diferentes.

Ej. Estaba tratando de actualizar un campo de la tabla "Session_Student" con los valores de un campo de otra tabla que tenía y esto era lo que estaba escribiendo:

update session_student
set session_student.session_id = vista.id_session
where session_student.id_session_stud = vista.id_session_stud

Esto seria lógico siempre y cuando lo que quiera actualizar sea un solo valor pero como vamos a llamar muchos valores la forma correcta de hacerlo es:

update session_student
set session_student.session_id = Temp.id_session
from (select id_session, id_session_stud from vista)Temp
where session_student.id_session_stud = Temp.id_session_stud

viernes, 20 de noviembre de 2009

Problemas con la ñ

Bueno, en estos días encontré un problemita trabajando con unos nombres que tenían nuestra preciada letra "ñ" (enie)

Resulta que cuando trataba de pasar uno de esos nombres a un datalist desde un textbox la aplicación da un error y habla de problemas de seguridad etc. Etc.

Error:

A potentially dangerous Request.Form value was detected from the client (ctl00$ContentPlaceHolder1$txtPProducto="...k 120mg niños ").


Muy feo verdad?

Pues ese errorcito era provocado por la letra "ñ"
Para resolver eso no basta con especificar la cultura también hay que especificar los encodings:
requestEncoding="iso-8859-1"
responseEncoding="iso-8859-1"
fileEncoding="iso-8859-1"
culture="es-MX"
uiCulture="es-MX"/>;
O mas facil:
String nombre = Server.HtmlDecode(TextBox1.Text)

 

Enjoy! Y recuerda que la vida es corta, tira código pero recuerda divertirte!

martes, 3 de noviembre de 2009

Tomar una palabra de un string en sql server

SELECT CASE CHARINDEX(' ', [campo], 1)
     WHEN
0 THEN [campo] -- empty or single word
     ELSE SUBSTRING(
[campo], 1, CHARINDEX(' ', [campo], 1) - 1) -- multi-word
END

FROM [tabla]

martes, 20 de octubre de 2009

lunes, 5 de octubre de 2009

Obtener el datakey value de una fila en un gridview

Se me present el caso en el que en un grid view debia poner un boton para eliminar esa fila y por consiguiente borrar ese valor de la base de datos.

Para esto ponemos en el gridview un botón y en el CommandName le ponemos "Eliminar".

El siguiente paso es hacer que cuando clikemos ese botón que aparecerá en cada fila del gridview, nos elimine ese valor.

Para esto en el Evento RowCommand del gridview ponemos lo siguiente:


if (e.CommandName == "Eliminar")

{


string valor;


int index;


 

index = int.Parse(e.CommandArgument.ToString());

valor = gridview1.DataKeys[index].Value.ToString();


 

TABLA.Delete(Convert.ToInt32(valor));

gridview1.DataBind();

}


 

La primera linea busca el comando Eliminar como le pusimos al botón.

Capturamos la fila en la que esta el boton que clicamos y buscamos el datakey value de esa fila

Y lo demas es simplemente borrarlo de la BD.


 

Recuerda declarar el campo DataKey en el GridView


 

Enjoy!

sábado, 3 de octubre de 2009

Botón dentro de un datalist

Tenemos un datalist y dentro de este en el ItemTemplate ponemos un botón que se va a repetir por cada fila del datalist.

Para hacer uso de este botón lo primero que debemos hacer es ponerle nombre al comando en la propiedad CommandName del botón.. Ejemplo: "eliminar".

Entonces en la propiedad ItemCommand del datalist utilizamos el siguiente código:

if (e.CommandName == "eliminar")

{

Notas.Delete(Convert.ToInt32(Datalist1.DataKeys[e.Item.ItemIndex]));

Datalist1.DataBind();

}


 

En la primera linea llamamos el comando que fue el que le pusimos al boton

En la segunda linea estamos llamando el Delete del tableadapter notas por ejemplo y estamos buscando el codigo de esa nota en la BD

Ya que previamente le dijimos al Datalist que su DatakeyField va a ser el campo idnotas

Ya en la tercera linea refrescamos el Datalist y listo!.


 

Enjoy!

domingo, 20 de septiembre de 2009

The type or namespace name 'Reporting' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)

Cuando se nos presenta este error:


 

The type or namespace name 'Reporting' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)

The type or namespace name 'LocalReport' could not be found (are you missing a using directive or an assembly reference?)


 


 

Es posible que la razon sea porque en el web config te hagan falta estos assemblies.


 

Asi que en el web.config agrega estas lineas en la seccion de los assemblies.


 

<assemblies>

<add
assembly="Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>

<add
assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
</
assemblies>


 

Saludos,