GUARDAR Y ABRIR DOCUMENTOS PDF EN ASP .NET OLEDB
Publicado por Jesus Ocampo (1 intervención) el 28/10/2010 18:17:53
Salu2 a todos. Primeramente debo decir que el codigo esta basado en el que hizo Manuel Lambis Ortiz en su tema: http://www.lawebdelprogramador.com/news/mostrar_new.php?id=93&texto=Visual+Basic&n1=521123&n2=0&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0
El codigo esta realizado en VB con coneccion a SQL server 2005 utilizando OLEDB para crear las conecciones.
Tabla en sql:
create table tblDoc
(
autor NVARCHAR(50) NULL,
apell NVARCHAR(50) NULL,
pdf NVARCHAR(50) NULL,
tam NVARCHAR(50) NULL,
archivo IMAGE NULL
)
Procedimiento almacenado de sql:
CREATE procedure [dbo].[doc]
@autor varchar(50),
@apell varchar(50),
@pdf varchar(50),
@tam varchar(50),
@archivo image
AS
INSERT INTO tblDoc VALUES(@autor,@apell,@pdf,@tam,@archivo)
Pagina de Ingreso: Codigo HTML:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br /><br />
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Button" />
<br /><br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
Pagina de Ingreso: Codigo VB:
'Importamos las librerias a utilizar
Imports System.IO
Imports System.Data
Partial Class IngresaPDF
Inherits System.Web.UI.Page
'Declaración de variables
Dim tam As Integer
Dim nom As String
Dim sql As String
Dim ruta As String
Dim arreglo() As Char
Dim archivo As FileStream
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
sp_FormaModificada()
End Sub
Private Sub sp_FormaModificada()
If (FileUpload1.HasFile) Then
Dim dbcon As New System.Data.OleDb.OleDbConnection("Provider=SQLNCLI;Server=SERVIDOR;Database=BASE DE DATOS;UID=USUARIO;PWD=CONTRASEÑA")
Try
nom = FileUpload1.FileName 'NOMBRE DEL ARCHIV0
tam = FileUpload1.FileBytes.Length 'TAMAÑO DEL ARCHIVO
ruta = Server.MapPath("pdf\") & nom 'RUTA DONDE SE GUARDARA EL ARCHIVO
FileUpload1.SaveAs(ruta) 'GUARDANDO EL ARCHIVO
'EMPIEZA LECTURA DEL ARCHIVO
archivo = New FileStream(ruta, FileMode.Open, FileAccess.Read)
Dim imagen(tam) As Byte
archivo.Read(imagen, 0, tam)
archivo.Close()
'' '' '' ''
'' '' PROCEDIMIENTO DE GUARDADO EN LA BASE DE DATOS
'' '' '' ''
If dbcon.State = ConnectionState.Closed Then
dbcon.Open()
End If
sql = "doc ?,?,?,?,?"
Dim cmd As New OleDb.OleDbCommand(sql, dbcon)
'parametros procedimiento almacenado
cmd.Parameters.Add("@autor", OleDb.OleDbType.VarChar, 50).Value = Me.TextBox1.Text.Trim
cmd.Parameters.Add("@apell", OleDb.OleDbType.VarChar, 50).Value = Me.TextBox2.Text.Trim
cmd.Parameters.Add("@pdf", OleDb.OleDbType.VarChar, 50).Value = nom
cmd.Parameters.Add("@tam", OleDb.OleDbType.VarChar, 50).Value = tam
cmd.Parameters.Add("@archivo", OleDb.OleDbType.Binary, imagen.Length).Value = imagen
sw = cmd.ExecuteNonQuery
If (sw <> 0) Then
Label1.Text = "Archivo Guardado Satisfactoriamente"
End If
Catch ex As Exception
Label1.Text = "Problemas al Guardar Archivo: " & ex.Message
Finally
If dbcon.State = ConnectionState.Open Then
dbcon.Close()
End If
End Try
End If
End Sub
End Class
Pagina de Visualizacion: Codigo HTML:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" /></div>
<br /><br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
Pagina de Visualizacion: Codigo VB:
'Importamos las librerias a utilizar
Imports System.IO
Imports System.Data
Partial Class DescargarPDF
Inherits System.Web.UI.Page
Dim sql As String
Dim documento As String
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
sp_CargaPDF_Modificado()
End Sub
Private Sub sp_CargaPDF_Modificado()
Dim dbcon As New System.Data.OleDb.OleDbConnection("Provider=SQLNCLI;Server=SERVIDOR;Database=BASE DE DATOS;UID=USUARIO;PWD=CONTRASEÑA")
Try
'' '' '' ''
'' '' PROCEDIMIENTO DE GUARDADO EN LA BASE DE DATOS
'' '' '' ''
If dbcon.State = ConnectionState.Closed Then
dbcon.Open()
End If
sql = "SELECT * FROM tblDoc WHERE autor = '" & Me.TextBox1.Text.Trim & "' AND apell = '" & Me.TextBox2.Text.Trim & "'"
Dim cmd As New OleDb.OleDbCommand(sql, dbcon)
Dim imagen As OleDb.OleDbDataReader
imagen = cmd.ExecuteReader
Dim conv As New System.Text.ASCIIEncoding
If (imagen.Read) Then
Response.Buffer = True
Response.ContentType = "application/pdf"
Response.BinaryWrite(imagen("archivo"))
'Deben remplazar el nombre "archivo" por el nombre de la columna en donde
'se almacena el pdf
End If
Catch ex As Exception
Me.Label1.Text = "Ha ocurrido un error: " & ex.Message
End Try
End Sub
End Class
Espero les sea de ayuda. cualquier duda sobre el codigo me escriben a [email protected]
El codigo esta realizado en VB con coneccion a SQL server 2005 utilizando OLEDB para crear las conecciones.
Tabla en sql:
create table tblDoc
(
autor NVARCHAR(50) NULL,
apell NVARCHAR(50) NULL,
pdf NVARCHAR(50) NULL,
tam NVARCHAR(50) NULL,
archivo IMAGE NULL
)
Procedimiento almacenado de sql:
CREATE procedure [dbo].[doc]
@autor varchar(50),
@apell varchar(50),
@pdf varchar(50),
@tam varchar(50),
@archivo image
AS
INSERT INTO tblDoc VALUES(@autor,@apell,@pdf,@tam,@archivo)
Pagina de Ingreso: Codigo HTML:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br /><br />
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Button" />
<br /><br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
Pagina de Ingreso: Codigo VB:
'Importamos las librerias a utilizar
Imports System.IO
Imports System.Data
Partial Class IngresaPDF
Inherits System.Web.UI.Page
'Declaración de variables
Dim tam As Integer
Dim nom As String
Dim sql As String
Dim ruta As String
Dim arreglo() As Char
Dim archivo As FileStream
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
sp_FormaModificada()
End Sub
Private Sub sp_FormaModificada()
If (FileUpload1.HasFile) Then
Dim dbcon As New System.Data.OleDb.OleDbConnection("Provider=SQLNCLI;Server=SERVIDOR;Database=BASE DE DATOS;UID=USUARIO;PWD=CONTRASEÑA")
Try
nom = FileUpload1.FileName 'NOMBRE DEL ARCHIV0
tam = FileUpload1.FileBytes.Length 'TAMAÑO DEL ARCHIVO
ruta = Server.MapPath("pdf\") & nom 'RUTA DONDE SE GUARDARA EL ARCHIVO
FileUpload1.SaveAs(ruta) 'GUARDANDO EL ARCHIVO
'EMPIEZA LECTURA DEL ARCHIVO
archivo = New FileStream(ruta, FileMode.Open, FileAccess.Read)
Dim imagen(tam) As Byte
archivo.Read(imagen, 0, tam)
archivo.Close()
'' '' '' ''
'' '' PROCEDIMIENTO DE GUARDADO EN LA BASE DE DATOS
'' '' '' ''
If dbcon.State = ConnectionState.Closed Then
dbcon.Open()
End If
sql = "doc ?,?,?,?,?"
Dim cmd As New OleDb.OleDbCommand(sql, dbcon)
'parametros procedimiento almacenado
cmd.Parameters.Add("@autor", OleDb.OleDbType.VarChar, 50).Value = Me.TextBox1.Text.Trim
cmd.Parameters.Add("@apell", OleDb.OleDbType.VarChar, 50).Value = Me.TextBox2.Text.Trim
cmd.Parameters.Add("@pdf", OleDb.OleDbType.VarChar, 50).Value = nom
cmd.Parameters.Add("@tam", OleDb.OleDbType.VarChar, 50).Value = tam
cmd.Parameters.Add("@archivo", OleDb.OleDbType.Binary, imagen.Length).Value = imagen
sw = cmd.ExecuteNonQuery
If (sw <> 0) Then
Label1.Text = "Archivo Guardado Satisfactoriamente"
End If
Catch ex As Exception
Label1.Text = "Problemas al Guardar Archivo: " & ex.Message
Finally
If dbcon.State = ConnectionState.Open Then
dbcon.Close()
End If
End Try
End If
End Sub
End Class
Pagina de Visualizacion: Codigo HTML:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" /></div>
<br /><br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
Pagina de Visualizacion: Codigo VB:
'Importamos las librerias a utilizar
Imports System.IO
Imports System.Data
Partial Class DescargarPDF
Inherits System.Web.UI.Page
Dim sql As String
Dim documento As String
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
sp_CargaPDF_Modificado()
End Sub
Private Sub sp_CargaPDF_Modificado()
Dim dbcon As New System.Data.OleDb.OleDbConnection("Provider=SQLNCLI;Server=SERVIDOR;Database=BASE DE DATOS;UID=USUARIO;PWD=CONTRASEÑA")
Try
'' '' '' ''
'' '' PROCEDIMIENTO DE GUARDADO EN LA BASE DE DATOS
'' '' '' ''
If dbcon.State = ConnectionState.Closed Then
dbcon.Open()
End If
sql = "SELECT * FROM tblDoc WHERE autor = '" & Me.TextBox1.Text.Trim & "' AND apell = '" & Me.TextBox2.Text.Trim & "'"
Dim cmd As New OleDb.OleDbCommand(sql, dbcon)
Dim imagen As OleDb.OleDbDataReader
imagen = cmd.ExecuteReader
Dim conv As New System.Text.ASCIIEncoding
If (imagen.Read) Then
Response.Buffer = True
Response.ContentType = "application/pdf"
Response.BinaryWrite(imagen("archivo"))
'Deben remplazar el nombre "archivo" por el nombre de la columna en donde
'se almacena el pdf
End If
Catch ex As Exception
Me.Label1.Text = "Ha ocurrido un error: " & ex.Message
End Try
End Sub
End Class
Espero les sea de ayuda. cualquier duda sobre el codigo me escriben a [email protected]
Valora esta pregunta


0