Enquete em C#.net Por CaBo GeL 04 September 2008 as 10:16 pm

Olá galera! aqui vo postar uma enquete que talves será útil a vcs!

bom vamos criar nossos buttons e salvar o arquivo como: Home_Enquete.aspx


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Cs/Home_Enquete.cs" Inherits="ExecutarEnquete" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Minha Enquete</title>
</head>
<body>

<asp:Label ID="LbMsnVazio" Font-Name="verdana" ForeColor="#FF0000" Font-Size="12px" runat="server" />
<asp:Label ID="LbMsnEnquete" Font-Name="verdana" ForeColor="#FF0000" Font-Size="12px" runat="server" />
<asp:Label ID="MsgVoto" Font-Name="verdana" ForeColor="#009933" Font-Size="12px" runat="server" />
<br>
Qual a linguagem mais vantagiosa?
<br>
<form runat="server">
<br>
<asp:RadioButtonList ID="CmpVoto" runat="server">
<asp:ListItem Value="1">C#.net</asp:ListItem>
<asp:ListItem Value="2">Java</asp:ListItem>
<asp:ListItem Value="3">PHP</asp:ListItem>
</asp:RadioButtonList>
<br>
<asp:Button ID="Botao" Text=" Votar " OnClick="AcaoVotar" runat="server" />
</form>
<br>
<asp:HyperLink NavigateUrl="Resultado_Enquete.aspx" Text="Ver Resultado" runat="server" />

</body>
</html>

feito issoo vamos criar agora a parte mecânica de nossa enquete rsrs…

salvaremos  nosso arquivo como: Home_Enquete.cs


using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Data.Odbc;

public partial class ExecutarEnquete : System.Web.UI.Page{

public void AcaoVotar(object Sender, EventArgs e){

OdbcConnection Conexao = new OdbcConnection("Driver=MySQL ODBC 3.51 Driver; DATABASE=CaBo_GeL; Server=LocalHost; uid=; pwd=;");
Conexao.Open();

string VarCmpVoto = Request.Form["CmpVoto"];
string VarIpCliente = Request.ServerVariables["REMOTE_ADDR"];

// Faz a consulta se existe o IP do cara.
OdbcCommand VerificarIP = new OdbcCommand("Select * From Ips Where IP='"+VarIpCliente+"'",Conexao);
OdbcDataReader ObjlocIP=VerificarIP.ExecuteReader();

if(ObjlocIP.HasRows){
while(ObjlocIP.Read()){
LbMsnEnquete.Text="Você já votou nesta enquete!";
MsgVoto.Text ="";
}
}else{

// Caso não exista o IP inserir e votar normalmente
OdbcCommand InserirIP = new OdbcCommand("Insert into Ips(IP) Values('"+VarIpCliente+"')",Conexao);
InserirIP.ExecuteNonQuery();

// Seleciona os campos com valor para fazer o calculo
OdbcCommand Comando = new OdbcCommand("Select * From Enquete",Conexao);
OdbcDataReader Objloc=Comando.ExecuteReader();
Objloc.Read();

int a_VarCodigo = Convert.ToInt32(Objloc["CodigoEnq"]);
int b_VarOpcao1 = Convert.ToInt32(Objloc["Opcao1"]) + 1;
int c_VarOpcao2 = Convert.ToInt32(Objloc["Opcao2"]) + 1;
int d_VarOpcao3 = Convert.ToInt32(Objloc["Opcao3"]) + 1;

if(VarCmpVoto == "1"){
OdbcCommand Comando1 = new OdbcCommand("UPdate Enquete Set Opcao1='"+b_VarOpcao1+"' Where CodigoEnq="+a_VarCodigo,Conexao);
Comando1.ExecuteNonQuery();
MsgVoto.Text="Voto confirmado <b>C#</b>!<br>";
}

if(VarCmpVoto == "2"){
OdbcCommand Comando2 = new OdbcCommand("UPdate Enquete Set Opcao2='"+c_VarOpcao2+"' Where CodigoEnq="+a_VarCodigo,Conexao);
Comando2.ExecuteNonQuery();
MsgVoto.Text="Voto confirmado <b>Java</b>!<br>";
}

if(VarCmpVoto == "3"){
OdbcCommand Comando3 = new OdbcCommand("UPdate Enquete Set Opcao3='"+d_VarOpcao3+"' Where CodigoEnq="+a_VarCodigo,Conexao);
Comando3.ExecuteNonQuery();
MsgVoto.Text="Voto confirmado <b>PHP</b>!<br>";
}
Conexao.Close();
}
}
}

prontoo!! agora teremos que mostrar o resultado de nossa enquete ne verdade?

vamos da o nome a esse arquivo de: Resultado_Enquete.aspx


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Cs/Resultado_Enquete.cs" Inherits="ResultEnquete" %>
<html>
<head>
<title> Resultado Parcial </title>
</head>
<body>
<form runat="server">
<table border="0">
<tr>
<td><b>C#:</b></td>
<td><img src="Img/Led.gif" height="13" width="<%=Session["Resultado1"]%>"></td>
<td><asp:label ID="LbResult1" runat="server" />%</td>
</tr>
<tr>
<td><b>JAVA:</b></td>
<td><img src="Img/Led.gif" height="13" width="<%=Session["Resultado2"]%>"></td>
<td><asp:label ID="LbResult2" runat="server" />%</td>
</tr>
<tr>
<td><b>PHP:</b></td>
<td><img src="Img/Led.gif" height="13" width="<%=Session["Resultado3"]%>"></td>
<td><asp:label ID="LbResult3" runat="server" />%</td>
</tr>
<tr>
<td colspan="3">votos computados:
<asp:label ID="LbTotal" runat="server" Font-Bold="true" /></td>
</tr>
<tr>
<td><asp:HyperLink NavigateUrl="Home_Enquete.aspx" Text="<< Voltar" runat="server" /></td>
</tr>
</table>
</form>
</body>
</html>

e por fim… criar a parte mecânica do nosso resultado da enquete!!

e daremos o nome a ela de: Resultado_Enquete.cs


using System;
using System.Data;
using System.Data.Odbc;

public partial class ResultEnquete : System.Web.UI.Page{
public void Page_Load(object Sender, EventArgs e){

OdbcConnection Conexao = new OdbcConnection("Driver=MySQL ODBC 3.51 Driver; DATABASE=CaBo_GeL; Server=LocalHost; uid=; pwd=;");

OdbcCommand Comando=new OdbcCommand("Select * From Enquete",Conexao);
Conexao.Open();

OdbcDataReader Objloc=Comando.ExecuteReader();
Objloc.Read();

double vOpcao1=Convert.ToInt32(Objloc["Opcao1"]);
double vOpcao2=Convert.ToInt32(Objloc["Opcao2"]);
double vOpcao3=Convert.ToInt32(Objloc["Opcao3"]);

double Total = vOpcao1 + vOpcao2 + vOpcao3;

if(vOpcao1 == 0){
LbResult1.Text = "0";
}else{
double Resp1 = (vOpcao1 / Total * 100.0);
LbResult1.Text = String.Format("{0:00.0}", Resp1);
Session["Resultado1"] = String.Format("{0:00.0}", Resp1);
}

if(vOpcao2 == 0){
LbResult2.Text ="0";
}else{
double Resp2 = (vOpcao2 / Total * 100.0);
LbResult2.Text = String.Format("{0:00.0}", Resp2);
Session["Resultado2"] = String.Format("{0:00.0}", Resp2);
}

if(vOpcao3 == 0){
LbResult3.Text ="0";
}else{
double Resp3 = (vOpcao3 / Total * 100.0);
LbResult3.Text = String.Format("{0:00.0}", Resp3);
Session["Resultado3"] = String.Format("{0:00.0}", Resp3);
}

LbTotal.Text = ""+Total;
}
}

num foi simples????

obs.: nessa enquete o usuário so poderá votar 1 so vez !!!!

espero ajudar vcs!!

at+

Envie um comentário