Вы находитесь на странице: 1из 8

UNIVERSIDAD TECNOLÓGICA ISRAEL

INGENIERÍA EN SISTEMAS INFORMATICOS

PLATAFORMAS DE DESARROLLO II

IMPORTAR GUARDAR EN BD

ESTUDIANTE: JORGE TIGUA

DOCENTE: MG. WILMER VALLE

2018
ÍNDICE GENERAL
1. INTRODUCCIÓN .......................................................................................................... 1
2 OBJETIVOS.................................................................................................................... 1
Objetivo general ..................................................................................................................... 1
Objetivos específicos .............................................................................................................. 1
3. DESARROLLO ................................................................................................................ 1
Imagenes.aspx ..................................................................................................................... 1
Imagenes.aspx.cs ................................................................................................................ 3
Web.config ............................................................................................................................ 4
Ejecución de SP a nivel de base de datos PA_Insert_Producto ................................. 5
4. Resultado .......................................................................................................................... 6
5. Bibliografía...................................................................................................................... 6
Ingeniería en Sistemas de Información

1. INTRODUCCIÓN
En el mismo ejercicio de la actividad en clases crear un nuevo botón que poder subir una imagen a
SQL server mediante la transformación de esta a números binarios.

2 OBJETIVOS
Objetivo general
Mediante el uso de asp.net se realizar un botón para la subida de una
imagen a la base de datos NORTHWIND

Objetivos específicos
Realizar la configuración necesaria para que se carguen la imagen dentro de la
base de datos

Establecer la conexión a la base de datos desde SqlServer.

3. DESARROLLO

Imagenes.aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master"
AutoEventWireup="true" CodeFile="Imagenes.aspx.cs" Inherits="Imagenes" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">


<style type="text/css">
.auto-style1 {
height: 153px;
}
.auto-style2 {
width: 100%;
height: 332px;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="phbody" Runat="Server">
<table class="auto-style2">
<tr>
<td>
<asp:Label ID="Label2" runat="server" Text="SUBIR IMAGEN PARA
DIRECTORIO DEL PROYECTO"></asp:Label>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
</td>

1
Ingeniería en Sistemas de Información

<td>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click"
Text="GUARDAR DIRECTORIO" />
</td>
</tr>
<tr>
<td class="auto-style1">
<asp:Label ID="Label4" runat="server" Text="SUBIR IMAGEN EN
BD"></asp:Label>
<br />
<asp:FileUpload ID="FileUpload2" runat="server" />
<asp:Label ID="Label5" runat="server" Text="Label"></asp:Label>
</td>
<td class="auto-style1">
<asp:Button ID="Button2" runat="server" Text="GUARDAR BD"
OnClick="Button2_Click" />
</td>
</tr>
<tr>
<td class="auto-style1">
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False" DataKeyNames="usrid" DataSourceID="SqlDataSource1"
Height="106px" Width="473px">
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="usrid" HeaderText="usrid"
InsertVisible="False" ReadOnly="True" SortExpression="usrid" />
<asp:BoundField DataField="usrapellidop"
HeaderText="usrapellidop" SortExpression="usrapellidop" />
<asp:BoundField DataField="usrapellidom"
HeaderText="usrapellidom" SortExpression="usrapellidom" />
<asp:BoundField DataField="usrnombrec"
HeaderText="usrnombrec" SortExpression="usrnombrec" />
<asp:BoundField DataField="usrmail" HeaderText="usrmail"
SortExpression="usrmail" />
<asp:TemplateField ConvertEmptyStringToNull="False"
HeaderText="usrfoto" SortExpression="usrfoto">
<EditItemTemplate>
<asp:DynamicControl ID="DynamicControl1"
runat="server" DataField="usrfoto" Mode="Edit" />
</EditItemTemplate>
<ItemTemplate>
<asp:Image ID="Image1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
SelectCommand="SELECT [usrid], [usrapellidop], [usrapellidom], [usrnombrec],
[usrmail], [usrfoto] FROM [Usuario]"></asp:SqlDataSource>
</td>
<td class="auto-style1">
&nbsp;</td>
</tr>
</table>
</asp:Content>

2
Ingeniería en Sistemas de Información

Imagenes.aspx.cs
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Imagenes : System.Web.UI.Page


{
protected void Page_Load(object sender, EventArgs e)
{

protected void Button1_Click(object sender, EventArgs e)


{

try
{
if (FileUpload1.HasFile)
{
// Se verifica que la extensi�n sea de un formato v�lido
string ext = FileUpload1.PostedFile.FileName;
ext = ext.Substring(ext.LastIndexOf(".") + 1).ToLower();
string[] formatos =
new string[] { "jpg", "jpeg", "bmp", "png", "gif" };
if (Array.IndexOf(formatos, ext) < 0)
Label2.Text = ("Formato de imagen inv�lido.");
else
GuardarArchivo(FileUpload1.PostedFile);

}
else
Label4.Text = ("Seleccione un archivo del disco duro.");
}
catch (Exception ex)
{
Label4.Text = (ex.Message);
}

private void GuardarArchivo(HttpPostedFile file)


{
// Se carga la ruta f�sica de la carpeta temp del sitio
string ruta = Server.MapPath("~/Imagenes");

// Si el directorio no existe, crearlo


if (!Directory.Exists(ruta))
Directory.CreateDirectory(ruta);

string img = FileUpload1.FileName;


string archivo = String.Format(ruta+"\\"+img);

// Verificar que el archivo no exista

3
Ingeniería en Sistemas de Información

if (File.Exists(archivo))
Label2.Text = (String.Format("Ya existe una imagen con nombre\"{0}\".",
file.FileName));
else
{
file.SaveAs(archivo);
}
}

protected void Button2_Click(object sender, EventArgs e)


{
if (FileUpload2.HasFile)
{
using (BinaryReader reader = new
BinaryReader(FileUpload1.PostedFile.InputStream))
{
string FileName = System.IO.Path.GetFileName(FileUpload2.FileName);
byte[] image = reader.ReadBytes(FileUpload2.PostedFile.ContentLength);
using (SqlConnection conn = new
SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString()))
{
conn.Open();
string query = @"update usuario set usrfoto='" +
System.Data.SqlDbType.Image + "' where usrid=1";
SqlCommand cmd = new SqlCommand(query, conn);
cmd.ExecuteNonQuery();
GridView1.DataBind();
}
}

}
}

Web.config
<?xml version="1.0"?>

<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->

<configuration>

<connectionStrings>
<add name="NorthwindConnectionString" connectionString="Data Source=DESKTOP-
C5QPCAE\SQLEXPRESS;Initial Catalog=Northwind;Persist Security Info=True;User
ID=sa;Password=123"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
</system.web>

</configuration>

4
Ingeniería en Sistemas de Información

Ejecución de SP a nivel de base de datos PA_Insert_Producto


USE [Northwind]
GO

/****** Object: Table [dbo].[Usuario] Script Date: 05/15/2014


13:30:45 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[Usuario](


[usrid] [int] NOT NULL,
[usrcedula] [varchar](10) NOT NULL,
[usrapellidop] [varchar](50) NOT NULL,
[usrapellidom] [varchar](50) NOT NULL,
[usrnombrec] [varchar](50) NOT NULL,
[usrmail] [varchar](50) NOT NULL,
[usridusuario] [varchar](10) NOT NULL,
[usrclave] [varchar](50) NOT NULL,
[prfcodigoi] [int] NOT NULL,
[usrfoto] [int] NULL,
CONSTRAINT [PK_Usuario] PRIMARY KEY CLUSTERED
(
[usrid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
INSERT [dbo].[Usuario] ([usrid] ,[usrcedula] , [usrapellidop] ,
[usrapellidom] , [usrnombrec] , [usrmail] , [usridusuario] , [usrclave],
[prfcodigoi] ) VALUES
(1,'1709343071','VALLE','BASTIDAS','WILMER','wvalle@uisrael.edu.ec','vwil
mer','krbimv',1)

GO

SET ANSI_PADDING OFF


GO

5
Ingeniería en Sistemas de Información

4. Resultado

5. Bibliografía
https://books.google.es/books?hl=es&lr=&id=Ra1XvTIy4C&oi=fnd&pg=PA15&dq=visual+studio+2

Guérin, B. A. (2016). ASP. NET en C# con Visual Studio 2015: Diseño y desarrollo de aplicaciones
Web. Ediciones ENI.

Вам также может понравиться