 
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://adonaimedrado.pro.br/wiki/index.php?action=history&amp;feed=atom&amp;title=CSharp%3A_ExemploAspAdo</id>
		<title>CSharp: ExemploAspAdo - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://adonaimedrado.pro.br/wiki/index.php?action=history&amp;feed=atom&amp;title=CSharp%3A_ExemploAspAdo"/>
		<link rel="alternate" type="text/html" href="https://adonaimedrado.pro.br/wiki/index.php?title=CSharp:_ExemploAspAdo&amp;action=history"/>
		<updated>2026-05-27T01:14:07Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://adonaimedrado.pro.br/wiki/index.php?title=CSharp:_ExemploAspAdo&amp;diff=826&amp;oldid=prev</id>
		<title>Adonaimedrado: New page: == Arquivo Default.aspx == &lt;code lang=&quot;html&quot;&gt; &lt;%@ Page Language=&quot;C#&quot; AutoEventWireup=&quot;true&quot;  CodeFile=&quot;Default.aspx.cs&quot; Inherits=&quot;_Default&quot; %&gt;  &lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0...</title>
		<link rel="alternate" type="text/html" href="https://adonaimedrado.pro.br/wiki/index.php?title=CSharp:_ExemploAspAdo&amp;diff=826&amp;oldid=prev"/>
				<updated>2008-11-18T20:40:15Z</updated>
		
		<summary type="html">&lt;p&gt;New page: == Arquivo Default.aspx == &amp;lt;code lang=&amp;quot;html&amp;quot;&amp;gt; &amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot;  CodeFile=&amp;quot;Default.aspx.cs&amp;quot; Inherits=&amp;quot;_Default&amp;quot; %&amp;gt;  &amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Arquivo Default.aspx ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot;  CodeFile=&amp;quot;Default.aspx.cs&amp;quot; Inherits=&amp;quot;_Default&amp;quot; %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Página Exemplo&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;form runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
        &amp;lt;h1&amp;gt;Página de Exemplo:&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div&amp;gt;            &lt;br /&gt;
            &amp;lt;asp:Label ID=&amp;quot;Resultado&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div&amp;gt;&lt;br /&gt;
            &amp;lt;asp:FileUpload ID=&amp;quot;CarregadorDeArquivoPrincipal&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div&amp;gt;&lt;br /&gt;
            &amp;lt;asp:Button ID=&amp;quot;Carregar&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;Carregar&amp;quot; &lt;br /&gt;
                onclick=&amp;quot;Carregar_Click&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div&amp;gt;&lt;br /&gt;
            &amp;lt;hr /&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div&amp;gt;&lt;br /&gt;
            &amp;lt;asp:GridView ID=&amp;quot;Album&amp;quot; runat=&amp;quot;server&amp;quot; AutoGenerateColumns=&amp;quot;false&amp;quot; &lt;br /&gt;
                GridLines=&amp;quot;Vertical&amp;quot;&lt;br /&gt;
                onselectedindexchanging=&amp;quot;Album_SelectedIndexChanging&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Columns&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:BoundField &lt;br /&gt;
                        DataField=&amp;quot;imagem_id&amp;quot; &lt;br /&gt;
                        HeaderText=&amp;quot;Imagem ID&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:BoundField &lt;br /&gt;
                        DataField=&amp;quot;imagem_tamanho&amp;quot;&lt;br /&gt;
                        HeaderText=&amp;quot;Tamanho (bytes)&amp;quot;&lt;br /&gt;
                        HeaderStyle-HorizontalAlign=&amp;quot;Right&amp;quot;&lt;br /&gt;
                        ItemStyle-HorizontalAlign=&amp;quot;Right&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:CommandField &lt;br /&gt;
                        SelectText=&amp;quot;Exibir&amp;quot; &lt;br /&gt;
                        ShowCancelButton=&amp;quot;false&amp;quot; &lt;br /&gt;
                        ShowDeleteButton=&amp;quot;false&amp;quot; &lt;br /&gt;
                        ShowEditButton=&amp;quot;false&amp;quot; &lt;br /&gt;
                        ShowSelectButton=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/Columns&amp;gt;&lt;br /&gt;
            &amp;lt;/asp:GridView&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;    &lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Arquivo Default.aspx.cs ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
using System.Configuration;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Web;&lt;br /&gt;
using System.Web.Security;&lt;br /&gt;
using System.Web.UI;&lt;br /&gt;
using System.Web.UI.HtmlControls;&lt;br /&gt;
using System.Web.UI.WebControls;&lt;br /&gt;
using System.Web.UI.WebControls.WebParts;&lt;br /&gt;
using System.Xml.Linq;&lt;br /&gt;
&lt;br /&gt;
public partial class _Default : System.Web.UI.Page &lt;br /&gt;
{&lt;br /&gt;
    /// &amp;lt;summary&amp;gt;&lt;br /&gt;
    /// Processo de carga inicial da página.&lt;br /&gt;
    /// &amp;lt;/summary&amp;gt;    &lt;br /&gt;
    protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            if (!IsPostBack)&lt;br /&gt;
            {&lt;br /&gt;
                AssociarGridView();                &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        catch (Exception ex)&lt;br /&gt;
        {&lt;br /&gt;
            Resultado.Text = &lt;br /&gt;
                &amp;quot;Impossível carregar página corretamente. &amp;quot;&lt;br /&gt;
                + ex.Message&lt;br /&gt;
                + (ex.InnerException != null ? ex.InnerException.Message : string.Empty);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /// &amp;lt;summary&amp;gt;&lt;br /&gt;
    /// Manda associar grade de visualização &lt;br /&gt;
    /// para exibir dos dados salvos na tabela.&lt;br /&gt;
    /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
    private void AssociarGridView()&lt;br /&gt;
    {&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            SqlConnection conexao =&lt;br /&gt;
                RetornarConexaoComSqlServer();&lt;br /&gt;
&lt;br /&gt;
            //Usa o adaptador de dados para carregar as informações no &lt;br /&gt;
            //agrupamento de dados.&lt;br /&gt;
            //ATENÇÃO PARA A FUNÇÃO DATALENGTH que obtém o tamanho utilizado no campo.&lt;br /&gt;
            SqlDataAdapter adaptador = new SqlDataAdapter(&lt;br /&gt;
                &amp;quot;SELECT imagem_id, DATALENGTH(imagem_conteudo) AS imagem_tamanho FROM &amp;quot;&lt;br /&gt;
                + &amp;quot; imagem&amp;quot;, conexao);&lt;br /&gt;
            DataSet dataSet = new DataSet();&lt;br /&gt;
            adaptador.Fill(dataSet);&lt;br /&gt;
&lt;br /&gt;
            //Associa dados à grade de visualização.&lt;br /&gt;
            Album.DataKeyNames = new string[] { &amp;quot;imagem_id&amp;quot; };&lt;br /&gt;
            Album.DataSource = dataSet;&lt;br /&gt;
            Album.DataBind();&lt;br /&gt;
        }&lt;br /&gt;
        catch (Exception ex)&lt;br /&gt;
        {&lt;br /&gt;
            throw new InvalidOperationException(&lt;br /&gt;
                &amp;quot;Impossível carregar grade de visualização corretamente.&amp;quot;, &lt;br /&gt;
                ex);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /// &amp;lt;summary&amp;gt;&lt;br /&gt;
    /// Retorna uma conexão SqlServer com o servidor baseando-se em parâmetros pré-configurados.&lt;br /&gt;
    /// &amp;lt;/summary&amp;gt;    &lt;br /&gt;
    private SqlConnection RetornarConexaoComSqlServer()&lt;br /&gt;
    {&lt;br /&gt;
        SqlConnectionStringBuilder montadorDeStringDeConexao =&lt;br /&gt;
                new SqlConnectionStringBuilder();&lt;br /&gt;
&lt;br /&gt;
        //Monta string de conexão através do montadorDeStringDeConexao.&lt;br /&gt;
        montadorDeStringDeConexao.UserID = &amp;quot;lpac&amp;quot;;&lt;br /&gt;
        montadorDeStringDeConexao.Password = &amp;quot;lpac123&amp;quot;;&lt;br /&gt;
        montadorDeStringDeConexao.InitialCatalog = &amp;quot;lpac&amp;quot;;&lt;br /&gt;
        montadorDeStringDeConexao.ApplicationName = &amp;quot;Website de Exemplo&amp;quot;;&lt;br /&gt;
        montadorDeStringDeConexao.DataSource = &amp;quot;.\\Futuro&amp;quot;;&lt;br /&gt;
        montadorDeStringDeConexao.PersistSecurityInfo = true;&lt;br /&gt;
&lt;br /&gt;
        return new SqlConnection(&lt;br /&gt;
                montadorDeStringDeConexao.ToString());&lt;br /&gt;
    }&lt;br /&gt;
    /// &amp;lt;summary&amp;gt;&lt;br /&gt;
    /// Faz o upload de uma imagem para a tabela de imagens.&lt;br /&gt;
    /// &amp;lt;/summary&amp;gt;    &lt;br /&gt;
    protected void Carregar_Click(object sender, EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
        SqlConnection conexao = null;&lt;br /&gt;
        string resultadoString = &amp;quot;Bug: resultadoString com valor não atribuído.&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        try&lt;br /&gt;
        {                        &lt;br /&gt;
            SqlCommand comando;&lt;br /&gt;
            &lt;br /&gt;
            //Instancia uma conexão através do construtor que recebe a string de &lt;br /&gt;
            //conexão como parâmetro.&lt;br /&gt;
            conexao = RetornarConexaoComSqlServer();&lt;br /&gt;
&lt;br /&gt;
            //Abre conexão.&lt;br /&gt;
            conexao.Open();&lt;br /&gt;
            &lt;br /&gt;
            //Cria comando a partir da conexão.&lt;br /&gt;
            comando = conexao.CreateCommand();&lt;br /&gt;
&lt;br /&gt;
            //Cria instrução SQL-Insert.&lt;br /&gt;
            comando.CommandText = &amp;quot;INSERT INTO imagem (imagem_conteudo) VALUES (@conteudo)&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            //Atribui valor dos parâmetros.&lt;br /&gt;
            comando.Parameters.Add(&amp;quot;@conteudo&amp;quot;, SqlDbType.Image);&lt;br /&gt;
            comando.Parameters[&amp;quot;@conteudo&amp;quot;].Value = &lt;br /&gt;
                (object)CarregadorDeArquivoPrincipal.FileBytes;&lt;br /&gt;
&lt;br /&gt;
            //Tenta executar o insert.&lt;br /&gt;
            resultadoString = comando.ExecuteNonQuery()&lt;br /&gt;
                + &amp;quot; tupla(s) afetada(s).&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            //Coloca cor da mensagem em azul.&lt;br /&gt;
            Resultado.ForeColor = System.Drawing.Color.Blue;&lt;br /&gt;
        }&lt;br /&gt;
        catch (Exception ex)&lt;br /&gt;
        {&lt;br /&gt;
            //Caso ocorra algum problema, mostre a mensagem em resultadoString. &lt;br /&gt;
            resultadoString =&lt;br /&gt;
                &amp;quot;Impossível carregar imagem: &amp;quot;&lt;br /&gt;
                + ex.Message;&lt;br /&gt;
&lt;br /&gt;
            //Coloca cor da mensagem em vermelho.&lt;br /&gt;
            Resultado.ForeColor = System.Drawing.Color.Red;&lt;br /&gt;
        }&lt;br /&gt;
        finally&lt;br /&gt;
        {&lt;br /&gt;
            //Fecha conexão se aberta.&lt;br /&gt;
            if (conexao != null&lt;br /&gt;
                &amp;amp;&amp;amp;&lt;br /&gt;
                conexao.State != ConnectionState.Closed)&lt;br /&gt;
                conexao.Close();&lt;br /&gt;
&lt;br /&gt;
            //Mostra o resultado acompanhado da data e hora correntes.&lt;br /&gt;
            Resultado.Text = &lt;br /&gt;
                DateTime.Now.ToShortDateString()&lt;br /&gt;
                + &amp;quot; &amp;quot;&lt;br /&gt;
                + DateTime.Now.ToShortTimeString()&lt;br /&gt;
                + &amp;quot;: &amp;quot;&lt;br /&gt;
                + resultadoString;&lt;br /&gt;
&lt;br /&gt;
            //Manda re-associar grid view (útil em caso de alterações por terceiros ou,&lt;br /&gt;
            //pela carga de uma figura).&lt;br /&gt;
            AssociarGridView();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /// &amp;lt;summary&amp;gt;&lt;br /&gt;
    /// Envia arquivo selecionado para usuário.&lt;br /&gt;
    /// &amp;lt;/summary&amp;gt;        &lt;br /&gt;
    protected void Album_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            SqlConnection conexao = RetornarConexaoComSqlServer();&lt;br /&gt;
&lt;br /&gt;
            //Usa o adaptador de dados para carregar as informações no &lt;br /&gt;
            //agrupamento de dados.&lt;br /&gt;
            SqlDataAdapter adaptador = new SqlDataAdapter(&lt;br /&gt;
                &amp;quot;SELECT imagem_conteudo FROM imagem WHERE imagem_id = &amp;quot;&lt;br /&gt;
                + ((int)Album.DataKeys[e.NewSelectedIndex].Value).ToString()&lt;br /&gt;
                , conexao);&lt;br /&gt;
            DataSet dataSet = new DataSet();&lt;br /&gt;
            adaptador.Fill(dataSet);&lt;br /&gt;
&lt;br /&gt;
            //Envia de &amp;quot;forma bruta&amp;quot; os dados para o browser.&lt;br /&gt;
            if (dataSet.Tables.Count &amp;gt; 0&lt;br /&gt;
                &amp;amp;&amp;amp;&lt;br /&gt;
                dataSet.Tables[0].Rows.Count &amp;gt; 0)&lt;br /&gt;
            {&lt;br /&gt;
                Response.Clear();&lt;br /&gt;
                Response.ContentType = &amp;quot;image/bmp&amp;quot;;&lt;br /&gt;
                Response.BinaryWrite(&lt;br /&gt;
                    (byte[])dataSet.Tables[0].Rows[0][&amp;quot;imagem_conteudo&amp;quot;]);&lt;br /&gt;
                Response.Flush();&lt;br /&gt;
                Response.End();&lt;br /&gt;
            }            &lt;br /&gt;
        }&lt;br /&gt;
        catch (Exception ex)&lt;br /&gt;
        {&lt;br /&gt;
            Resultado.Text =&lt;br /&gt;
                &amp;quot;Impossível retornar imagem para usuário. &amp;quot;&lt;br /&gt;
                + ex.Message;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Script do Banco de Dados==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE [lpac2]&lt;br /&gt;
GO&lt;br /&gt;
USE lpac2&lt;br /&gt;
GO&lt;br /&gt;
CREATE TABLE [dbo].[imagem]&lt;br /&gt;
(&lt;br /&gt;
	[imagem_id] [int] PRIMARY KEY IDENTITY(1,1) NOT NULL,&lt;br /&gt;
	[imagem_conteudo] [image] NOT NULL,&lt;br /&gt;
)&lt;br /&gt;
GO&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adonaimedrado</name></author>	</entry>

	</feed>