Archive for December, 2010

Como realizar una consulta en un servidor externo en sql server 2005

En un mundo perfecto toda la data la tendríamos en un solo servidor y todos seríamos felices. Pero en mi caso esto no es asi por lo que me veo obligado a consultar información que se encuentra en otros servidores sql server 2005.

Para realizar esto debemos crear un “linked server” utilizando el stored procedure sp_addlinkedserver.

Para hacer esto ejecutamos:

EXEC sp_addlinkedserver @server = ‘dunderserver2′

Debemos asegurarmos que tengamos acceso de red al mismo.
Una vez creado el link podemos hacer consultas de la siguiente manera:

select * from dunderserver2.mydb.dbo.transacciones

Donde dunderserver2 es el linked server
mydb el nombre de la base de datos
dbo.transacciones la tabla que deseo acceder.

Como usar “sorting” y “paging” en un gridview

Si tratas de usar sorting y paging a la vez en un gridview el sistema de devolverá un error como este:

“The GridView ‘GridViewID’ fired event PageIndexChanging which wasn’t handled.”

Lo que se debe hacer en el gridview es agregar los llamados que manejarán los eventos:

<asp:GridView ID=”gridView” OnPageIndexChanging=”gridView_PageIndexChanging” OnSorting=”gridView_Sorting” runat=”server” />

Y en el código las funciones:

private string ConvertSortDirectionToSql(SortDirection sortDirection)
{
string newSortDirection = String.Empty;

switch (sortDirection)
{
case SortDirection.Ascending:
newSortDirection = “ASC”;
break;

case SortDirection.Descending:
newSortDirection = “DESC”;
break;
}

return newSortDirection;
}

protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gridView.PageIndex = e.NewPageIndex;
gridView.DataBind();
}

protected void gridView_Sorting(object sender, GridViewSortEventArgs e)
{
DataTable dataTable = gridView.DataSource as DataTable;

if (dataTable != null)
{
DataView dataView = new DataView(dataTable);
dataView.Sort = e.SortExpression + ” ” + ConvertSortDirectionToSql(e.SortDirection);

gridView.DataSource = dataView;
gridView.DataBind();
}
}

Como agregar un javascript: a un gridview

Utilizando un gridview debía utilizar un link javascript tipo “javascript:mi_funcion(‘xxxx’)” para abrir un pop-up con el detalle del registro que estaba seleccionando.

El problema es que usar datanavigateurlformatstring=”javascript:mi_funcion(‘{0}’)” no funciona por un error y me vi obligado a utilizar el siguiente código:

<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID=”HyperLink1″ runat=”server”
NavigateUrl=’<%# “javascript:ver_documento(” + chr(39) + Eval(“variable”) + chr(39) + “)” %>’
Text=”View”>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>

Espero les sea de utilidad.