terça-feira, 16 de outubro de 2007

Usando Postgres com C#

Partimos do ponto em que nós achamos que você já tenha instalado o nosso amigo postgres e o configurado, (isso tem aos montes na web, não vamos entrar nesses detalhes)

Essa matéria ta sendo feita em Visual Studio e testada no Fedora core 7 com mono.
1º passo é baixar a nossa DLL,
http://pgfoundry.org/projects/npgsql e depois adicionada em nossas referencias: add new reference, escolha a Npgsql.dll e automaticamente ele adicionará nossas outras bibliotecas e os outros arquivos



Colocamos a claususa using Npgsql no CodeBehind de nossa pagina de teste:

using System;
using System.Web;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Npgsql;
A já íamos esquecendo de colocar no web.config uma string de conexão valida para o postgres:

Server=172.18.27.22;Port=5432;Userid=intranet;Password=netpge;database=postgres

E agora é só usarmos em nossa aplicação:

NpgsqlConnection con = new NpgsqlConnection(System.Configuration.ConfigurationManager.AppSettings["Conexao"]);

NpgsqlDataAdapter da = new NpgsqlDataAdapter("select * from tabela", con);

NpgsqlCommand com = new NpgsqlCommand ();

etc...
Boa Pratica:






quinta-feira, 11 de outubro de 2007

Criando um Gridview para deletar dados


Gridview, CheckBox, Button e uma Label

Na label, não fazemos nada... apenas damos um titulo ao nosso gridview;
No Gridview será necessário criar uma coluna do tipo template, e adicionar um checkbox com o nome de 'chk' , também é necessário adicionar a propiedade datakeynames do gridview o nome da coluna PK, Agora vamos ao nosso Codebehind e adicionamos as seguintes linhas:

private void delAcaoEvento(Int32 Codigo)
{
// Usamos o Npgsql para acesso aos dados contidos no Postgres
NpgsqlCommand comm = new NpgsqlCommand();
comm.Connection = con;
String strDel;
strDel = "delete from adm_teste.tbeventos where cod_evento = " + Codigo;
comm.CommandText = strDel;
con.Open();
comm.ExecuteNonQuery();
con.Close();
}
O codigo acima é uma função que vai ser usada dentro do evento click do botao deletar:

protected void btnDeletarEvento_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in this.gvEventos.Rows)
{

// Criamos uma Variavel do Tipo CheckBox e Localizamos ela dentro da
//row que é do tipo da nossa gvEventos
CheckBox chk = (CheckBox)row.FindControl("chk");
if (chk.Checked == true)
{
delAcaoEvento(Convert.ToInt32(this.gvEventos.DataKeys[row.RowIndex].Value));
}
}
}


terça-feira, 9 de outubro de 2007

Uebe diz: bem vindo ao Mono !

Instalação do Mono – Fedora Core 6

Favor executar as dependências se preciso antes da compilação dos sources

OBS:
Instalar o ICU – ele é responsável pela internacionalização, sem ele é impossível instalar o monodevelp e o nant

1 passo - Instalar Linux Fedora Core – 6

1.1 – Configurar Internet

2 passo – Instalar o Yumex – através do gerenciamento de pacotes YUM

Console: # yum install yumex

3 passo - Instalar o Compilador C e C++ / Utilizar o Yumex – (Yum Extender)

Executar Comando: ‘yumex’

Mandar localizar ‘c++’ com o paramento all marcado

3.1 - Gcc-c++
3.2 - Gcc-objc++
3.3 - Libsigc++
Dependências
3.4 - Gcc
3.5 - Gcc-objc
3.6 - Glibc-nidevel
3.7 - Glibc-headers
3.8 – Glibc-common
3.9 – cpp-4 3.10 – Glibc

4 passo – Compilar o Source – Mono – 1.2.5

# Cd /pasta-codigo-fonte
# ./configure
# Make
# Make Install

Dependências

Yumex – procurar ‘Bison’ com all marcado

4.1 bison
4.2 bison - devel
4.3 bison – runtime
Yumex – Procurar ‘glib2’ com all marcado
4.4 - glib2
4.5 - glib2 devel

Caso persista com o erro, baixe o source novamente.


5 passo – Compilar o Source do MonoBasic

# Cd /pasta-codigo-fonte
# ./configure – prefix=/usr/local; make; make install

Dependências

6 passo – Compilar o Source do ModMono

# Cd /pasta-codigo-fonte
# ./configure
# Make
# Make Install

Dependências

Yumex Procurar ‘APXS’ com all marcado
6.1 - Httpd – devel (principal)
6.2 - apr-devel (se necessário)
6.2 - aprutil-devel (se necessário)
6.3 - cyrus–sasl–devel (se necessário)
6.4 – db4-devel (se necessário)
6.5 – expat-devel (se necessário)
6.6 – openldap-devel (se necessário)

7 passo – Compilar o Source do libgdiplus

# Cd /pasta-codigo-fonte
# ./configure
# Make
# Make Install

Dependências

Yumex Procurar ‘libtiff’ com all marcado 7.1 libtiff-devel
Yumex Procurar ‘libjpeg’ com all marcado
7.2 libjpeg-devel

Yumex Procurar ‘png’ com all marcado
7.3.1 libjpng-devel
7.3.2 libpng
7.3.3 libpng10
7.3.4 libpng10-devel

Yumex Procurar ‘gif’ com all marcado
7.4 giflib-devel
7.5 giflib

Yumex Procurar ‘X11’ com all marcado

7.6 - X11-devel
Yumex Procurar ‘cairo’ com all marcado
7.7 - cairo-devel



8 passo – Compilar o Source do xsp 1.2.5

# Cd /pasta-codigo-fonte
# ./configure
# Make
# Make Install

Dependências



9 passo – configurar o httpd.conf em /etc/httpd/conf/httpd.conf


############### CONFIGURACAO MONO ####################

Include /etc/httpd/conf/mod_mono.conf
MonoExecutablePath "/usr/local/bin/mono"
MonoPath "/usr/local/bin"
MonoServerPath default "/usr/local/bin/mod-mono-server2"
MonoAutoApplication enabled
#MonoRunXSP True
Alias /mono "/home/mono/apps"
MonoDocumentRootDir "/home/mono/apps"
AddMonoApplications default "/mono:/home/mono/apps"

SetHandler mono

DirectoryIndex Default.aspx

Order allow,deny
Allow from all



10 passo – adicionar a linha no arquivo mod_mono.conf localizado em
/etc/httpd/conf/

Adicionar a linha AddType application/x-asp-net .vb

Valeu Galera...