martes, 25 de noviembre de 2008

Exportar un grid a excel

1 comentario:
Los reportes son un dolor de cabeza siempre una forma de reportar rapidamente es utilizar excel que es un magnifica herramienta, asi que yo lo que hago en los grid de consultas pongo un boton que diga exportar a excel el codigo del mismo deberia ser así(recuerde ya tener llenado el grid):


if (GridView1.Rows.Count == 0)
{
return;
}

if (GridView1.Rows.Count < 65536)
{
GridView1.AllowPaging = false;
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
HtmlForm frm = new HtmlForm();
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("content-disposition", "attachment;filename=ReporteSol.xls");
Response.Charset = "";
EnableViewState = false;
Controls.Add(frm);
frm.Controls.Add(GridView1);
frm.RenderControl(hw);
Response.Write(tw.ToString());
Response.End();
llenar(); // aqui tiene que llamar asu llenado del grid de nuevo

}


}


no olvide agregar este using
using System.IO;

Si usan esa cosas que se llama Visual Basic = )

If GridEX1.Rows.Count = 0 Then
Return
End If

If GridEX1.RowCount < 65535 Then
GridEX1.AllowPaging = False
Dim tw As New StringWriter()
Dim hw As New HtmlTextWriter(tw)
Dim frm = New HtmlForm()
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader("content-disposition", "attachment;filename=ReporteSol.xls")
Response.Charset = ""
EnableViewState = False
Controls.Add(frm)
frm.Controls.Add(GridEX1)
frm.RenderControl(hw)
Response.Write(tw.ToString())
Response.End()
llenar()
End If
Ver

lunes, 17 de noviembre de 2008

Cache en aspnet

No hay comentarios.:
El objeto Cache puede servir para optimizar una Aplicacion Web, antes de desplegarla.

Esto puede funcionar para información de no cambia continuamente, si se estan preguntando que tan continuamente eso es configurable, aqui muestro un ejemplo en c# con oracle aun que bien funciona con sqlserver y visual basic, la cual es un listado de empleados que cumplen años en ese dia. Por lo tanto no tengo que cambiar la información durante 24 horas asi que no tengo que para evitar que la aplicacion haga select por que cada usuario que ingrese al sistema, se utilizar el cache para evitarlo.


OracleConnection cn = new OracleConnection(ConfigurationManager.ConnectionStrings["TEST"].ConnectionString);
DataSet ds = new DataSet();

OracleDataAdapter da = new OracleDataAdapter("", cn);

da.SelectCommand.CommandText = "SELECT NOMBRE,
TO_CHAR(A.F_NACIMI, 'dd') || ' - ' || MESESP(TO_CHAR(A.F_NACIMI, 'mm'))
FROM EMPLEADOS where FECHA_NAC= to_char(sysdate,'mm')";


if (Cache["nombres"] == null)
{
cn.Open();
da.Fill(ds, "cumple");
cn.Close();
Cache.Insert("nombres", ds, null, System.Web.Caching.Cache.NoAbsoluteExpiration, TimeSpan.FromHours(4));
}

GridView1.DataSource = ((DataSet)Cache["nombres"]).Tables[0];
GridView1.DataBind();


-----------------------------------------
Si les sirve deje comentario.
Ver

jueves, 6 de noviembre de 2008

Microsoft retira el Windows que se ganó al público

No hay comentarios.:

El adiós al mercado del Windows 3.x tras 18 años de vida supone el fin de una era. Desde el pasado 1 de noviembre, Microsoft no permite la concesión de más licencias para el uso de este software 3.x, el primero que gozó de verdadero éxito entre el usuario y el que hizo que el PC se impusiera al Mac de Apple, ya que la mejora de los gráficos era más que evidente.
Y aunque hubo un 1.0 y otro 2.0, para muchos usuarios el 3.x es realmente el primer sistema operativo de Windows. Además, el software fue el responsable de que un icono se convirtiera en sinónimo de Windows: la clásica ventana que deja tras de sí una estela pixelada. Pero hubo más, el 3.x llegó con numerosas mejoras que lo hicieron más agradable para el usuario final, como color en los iconos o la amplia configuración en los sistemas de control.
La competencia tembló entonces, hace 18 años. La historia de este primer sistema operativo se remonta a los años 90. A partir de entonces, la compañía comenzó a sacar diferentes versiones de Windows 3.x y fueron conscientes del enorme éxito que el interfaz gráfico de usuario de Microsoft estaba teniendo a lo largo y ancho del planeta. Esto ayudó a que la compañía se asentase y marcara tendencia hasta llegar al día de hoy en lo que a sistemas operativos se refiere.
Una revolución en los 90
Windows 3.x tenía mejor paleta de colores y ofrecía la posibilidad de usar extras multimedia, como tarjetas de sonido o CD Rom. También reformó los menús desplegables hacia el modelo que los conocemos hoy en día, coloreó los iconos y permitía calibrar el ratón, configurar la pantalla, incorporó salida VGA, y sumó aplicaciones tan populares como 'Paintbrush' o el popular juego 'Solitario'.
Hasta finales de 2001 Microsoft sostuvo el apoyo a Windows 3.x, desde entonces hasta ahora se limitó a mantenerlo con vida como sistema operativo 'embedded', destinado a aplicaciones concretas como los cajeros automáticos o las cuentas de los grandes almacenes. Pero llegó el 1 noviembre pasado: desde ese día Microsoft no permite la concesión de más licencias.

Tras muchas versiones, el futuro es el cuestionado Windows Vista.
Ver

martes, 21 de octubre de 2008

Leer y grabar imagenes en la base de datos- ASPNET

No hay comentarios.:
ASP.NET proporciona un mecanismo sencillo para cargar archivos de imagen a una base de datos, como SQL Server. Las imágenes se pueden almacenar en una tabla de base de datos que es atributo de datos de imagen de tipo.

Puede utilizar la siguiente instrucción SQL para crear una tabla que puede almacenar archivos de imagen:

create table myimages
(
imgid int identity(1,1) primary key,
imgname varchar(30) null,
imgfile image not null,
imgtype varchar(30) null
)

En el código anterior, el cuadro atributos son los siguientes:

* imgid: Para almacenar el identificador de la imagen y es la clave principal de la tabla.
* imgName: Para almacenar un nombre de la imagen.
* imgfile: Para almacenar datos de imagen binarios.
* imgtype: Para almacenar el tipo de contenido de la imagen

Las imágenes Web de forma se pueden cargar en la anterior tabla de base de datos. La carga de archivo de imagen desde el formulario de la web se pueden clasificar en las siguientes tareas:

1. Creación de un formulario web para subir los ficheros de imagen.
2. Carga de archivos de imagen a la base de datos.

Creación de la Web de forma para subir los ficheros de imagen

El formulario HTML que se cargan los archivos de imagen a una base de datos debe cumplir los siguientes requisitos:

* Utilice multipart / form-cifrado de datos
* Utilice el método POST.

Puede utilizar el siguiente fragmento de código para crear un formulario para la carga de imágenes:

<form enctype="multipart/form-data" id="Form2" method="post" runat="server">
<h3> Demo on working with image filesh3>
<asp:Label id="Label1" style="Z-INDEX: 101; LEFT: 56px; POSITION: absolute; TOP: 120px" runat="server">Enter File nameasp:Label>
<asp:Button id="Button2" style="Z-INDEX: 107; LEFT: 248px; POSITION: absolute; TOP: 264px" runat="server" Text="View images" Width="96px">
<asp:Button id="Button1" style="Z-INDEX: 106; LEFT: 248px; POSITION: absolute; TOP: 216px" runat="server" Text="Upload Me"> <input id="upload_file" type="file" runat="server" style="Z-INDEX: 105; LEFT: 256px; POSITION: absolute; TOP: 160px">
<asp:TextBox id="txtimgname" style="Z-INDEX: 102; LEFT: 256px; POSITION: absolute; TOP: 120px" runat="server">
asp:TextBox>
form>



En el código anterior, el atributo enctype notifica al servidor que los datos binarios se subirán. El formulario tiene un archivo de control sobre el terreno por el nombre upload_file, que puede utilizar para buscar y localizar el archivo. El formulario también tiene dos botones de control, uno para subir y uno para ver. La interfaz se parece a como se muestra en la figura:


Cargar un archivo de imagen a una base de datos

Cuando el usuario hace clic en el botón de subida me, un manejador de evento se invoca. En el evento que usted puede agregar el código siguiente al cargar el archivo en la base de datos:

private void Button1_Click(object sender, System.EventArgs e)
{
Stream img_strm = upload_file.PostedFile.InputStream;
//Retrieving the length of the file to upload
int img_len = upload_file.PostedFile.ContentLength;
//retrieving the type of the file to upload
string strtype = upload_file.PostedFile.ContentType.ToString();
string strname = txtimgname.Text.ToString();
byte[] imgdata = new byte[img_len];
int n = img_strm.Read(imgdata, 0, img_len);
int result = SaveToDB(strname, imgdata, strtype);
}


En el código anterior, hay tres piezas principales de datos que son importantes para cargar la imagen:

Content-Type (strtype)
Name (strname)
ImageData (imgdata)


El código anterior en el archivo para ser cargado en sptored es img_strm, objeto de flujo de la clase. En img_strm el archivo se almacena en formato bimary Usted debe convertir a matriz de bytes antes de cargar en la base de datos. La siguiente declaración de la anterior fragmento de código muestra cómo el archivo se convierte en matriz de bytes:

int n = img_strm.read (imgdata, 0, imglen)

El objeto Stream proporciona la lectura () método para convertir el archivo binario a partir de matriz de bytes. Acepta tres paramters

* búfer: Especifica una matriz de bytes.
* Offset: Especifica el byte en el buffer, desde donde el almacenamiento de datos se iniciará.
* Cuenta: Especifica el número máximo de bytes que se lee desde el actual flujo.

Leer la imagen de la db
El código anterior en el archivo para ser cargado en sptored es el código principal el desempeño de esta función se da a continuación. Su caso manejador de la "opinión de la imagen" evento. El nombre de la imagen que está escrito en el cuadro de texto en la pantalla.

private void Button2_Click(object sender, System.EventArgs e)
{
connection.Open();
SqlCommand command1 = new SqlCommand("select imgfile from myimages where imgname=@param", connection);
SqlParameter myparam = command1.Parameters.Add("@param", SqlDbType.NVarChar, 30);
myparam.Value = txtimgname.Text;
byte[] img = (byte[])command1.ExecuteScalar();
MemoryStream str = new MemoryStream();
str.Write(img, 0, img.Length);
Bitmap bit = new Bitmap(str);
Response.ContentType = "image/jpeg";//or you can select your imagetype from database or directly write it here
bit.Save(Response.OutputStream, ImageFormat.Jpeg);
connection.Close();
}
Ver

lunes, 13 de octubre de 2008

Codigo Biker

1 comentario:
Voy en moto, ùnica y exclusivamente, por que es divertido. Voy en moto porque disfruto de la libertad que siento al star expuesto a los elementos y ser vulnerable al riesgo que implica ir en moto, es decir no monto porque estè de moda.

Conduzco mi màquina, no me la pongo, mi màquina no es un sìmbolo de estatus, existe simplemente para mì y sòlo para mì. Mi màquina no es un juguete, es una extensiòn de mi mismo y la trato en consecuencia con el mismo respeto que me tengo a mì.

Me esfuerzo por compreder el funcionamiento interno de la màquina, desde lo màs bàsico a lo mas complejo. Aprendere todo lo que pueda sobre mi màquina, de manera que pueda confiar solamente en mi mismo para cuidarla conservala.

Me esfuerzo constantemente en mejorar mi dominio sobre mi màquina. Aprenderè sus lìmites y a usar mi habilidad para llegar a ser uno con mi màquina para asì mantenernos a salvo los dos. Yo soy el dueño y ella està a mis òrdenes. Trabajamos juntos en armonìa, en equipo seremos un equipo invencible.

No temo a la muerte, sin embargo harè todo lo posible para evitar que llegue pronto. El miedo en la carretera lleva a la muerte. Por eso no me dejo atemorizar, serè mi dueño, lo dominarè.

Mis màquinas sobreviviràn, por eso seràn mi legado, las cuidarè para futuros bikers que las aprecien como yo las he apreciado, cualesquiera que pueda ser.

No monto en la moto para llamar la atenciòn, respeto o dar miedo a nadie que no ande en moto, ni tampoco deseo intimidar a nunguno de ellos. Para aquellos que no quieran conocerme, todo lo que deseo es que me ignoren. Para los que quieren conocerme, compartirè con ellos la verdad de mi mismo para que puedan comprenderme y no temer a otros como yo.

Nunca serè un agresor en la carretera, sin embargo, si alguien se mete conmigo, su agresiòn serà respondida con los medios legales que tenga a mano.

Mostrarè respeto acea otros bikes màs experimentados y conocerdores que yo. Aprenderè de ellos lo que pueda. No mostrarè desprecio hacia otros bikers menos experimentados y conocedores que yo; les enseñarè lo que pueda.

Serà mi tare ser mentor de nuevos bikers que deseen intruducirse en el modo de vida biker para que la casta continùe. les enseñarè com a mi me han enseñado otros antes.
Preservarè el honor y las tradiciones de bikers anteriores a mì y las pasrè sin alterarlas.

No juzgare a oros bikers por la màquina que elijan, su apariencia o su profesiòn, les juzgare ìnicamente por su conducta como biker.

Estoy orgulloso de mis obligaciones como biker, aunque no se las harè cumplir a otros, si preguntan se las compartirè con ellos. Estarè dispuesto a ayudar a cualquier bikerque realmente necesite mi ayuda. Nunca pedirè otro biker que haga lo que puedo hacer por mi mismo.

Yo no soy un biker de fin de semana, soy un biker cuando y donde voy, es decir, en todo momento. Estoy orgulloso de ser biker y no escondo mi modo de vida a nadie Monto en moto porque amo la libertad, la independencia y el movimiento del suelo bajo mis pies, pero sobre todo, monto para conocerme mejor a mismo, mi màquina, las tierras por donde voy, y buscar y conocer otros bikers como yo.
Ver

lunes, 29 de septiembre de 2008

Crear un Store Procedure en SQL 2005 con Visual Studio

2 comentarios:
Creando Codigo para objetos de Sql server 2005
Pasos.
1.) Inicio Visual Studio
2.) Cree un nuevo projecto de tipo "SQL Server project"
3.) Inmediatemente de Crear el proyecto le pedira connectarse con su servidor. Ingrese la informacion necesaria(usuario,password,servidor)
4.) Inmediatemente Le preguntara que si decea Habilitar el Sql/CLR Debugging, indique que si
5.)Sobre el proyecto presione click derecho busque add y luego elija Store Procedure( en el solution explorer) coloque un nombre a su nuevo store procedure(sp.vb o sp.cs)
6.)En el Sp que acaba de crear asegure de tener las siguientes Imports ó Using
Imports System
Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlTypes
Imports Microsoft.SqlServer.Server
7.) y de aqui en adelante es una Sub ó Void totalmente Normal, un ejemplo sensillo
Public Shared Sub StoredProcedure1
Dim conn As New SqlConnection("context connection=true")
conn.Open()

Dim cmd As New SqlCommand("SELECT ProductID, Name, ListPrice FROM Production.Product ORDER BY ListPrice DESC", conn)
SqlContext.Pipe.ExecuteAndSend(cmd)
End Sub

8.) Luego f5 y ya esta en sql server, pueder ir a verlo con el Management Studio en la seccion de programacion, Store procedure
puedes ejecutarlo
con un exe. Ejemplo.
exec dbo.StoredProcedure1

si te sale este error
Msg 6263, Level 16, State 1, Line 1Execution of user code in the .NET Framework is disabled. Enable "clr enabled" configuration option.
Tenemos problemas pero es por que no tiene habilitado el .net framework en el sql
corre este script para correjilo.

sp_configure 'clr enabled', 1
go
reconfigure
go
Para Probar el Sp en el mismo .net tiene que hacer los siguiente pasos:

1.) Pon un break point sobre tu Store procedure.
2.)Preciona click derecho sobre tu proyecto y agrega un TEST SCRIPT
agrega el codigo de tu prueba de script que si es al que esta arriba deberia ser asi:
exec dbo.StoredProcedure1
y preciona click derecho sobre su script de prueba en que mi caso se llama test.sql y le dices que sea el default script.
3.) preciona f5 y ahora no solo lo pasara al sql si no que hara una pausa en tu break point.
Ver

miércoles, 10 de septiembre de 2008

Cristobal Colón era soltero !!!!!

No hay comentarios.:
Cristobal Colón era soltero !!!!!

Tenemos que admitir que Cristóbal Colón pudo descubrir América sólo
Porque ¡¡ERA SOLTERO!!
Si Cristóbal Colón, hubiese tenido una esposa, mira todas las
Preguntas que le hubiera hecho:

-¿Y por qué tenés que ir vos?
- ¿Y por qué no mandan a otro?
- ¡Todo lo ves redondo! ¿Estás loco o sos idiota?

- ¡No conocés ni a mi familia y vas a descubrir el nuevo mundo!
- ¿Qué escondés? ¡Ni siquiera sabés adonde vas!
- ¿Y sólo van a viajar hombres? ¿Quién te lo va a creer?

- ¿Y por qué no puedo ir yo si vos sos el jefe?
- ¡Desgraciado, ya no sabés qué inventar para estar fuera de la casa!
- ¡Si cruzás esa puerta yo me voy con mi mamá! ¡Sinvergüenza!

- ¿Y quién es esa tal María? ¿Qué Pinta? ¡Y la muy hija de puta se
Hace la Santa!
- ¿Y decís que es una Niña?... ¡Andá a la mierda....!
- ¡Tenías todo planeado, verdad! Seguro que vas a encontrarte con unas
Indias putas.
- ¿A mí me vas engañar?
- ¿Qué la Reina va a vender sus joyas para tu viajes? ¡Comé mierda!....
- ¿Me tomás por bruta?
- ¿Qué tenés con esa vieja?
!Sos un puto!!!

¿A coger vas a ir, verdad?
- ¡Vos no vas a ir a ningún lado!
- No va a pasar nada si el mundo sigue plano .
Así que ni te vistas que
¡NO vas!
Me escuchaste.......!!!!!!!!!!! !
C O L O N .... VENI PARA ACA!!!!!!
Ver