Aiuto WindowForm Username e Passwrd

lunedì 03 settembre 2007 - 21.11

z.cristiano Profilo | Newbie

Salve a tutti!
Ho una difficoltà poco pesante!
Io ho fatto una mascherza d'accesso con due campi txtUsername e txtPassword..
Nel database ho messo due dati (username = 12, password = 12 e username = 44, password = 44)
Dopo aver fatto il codice, durante il debug, funziona e accede solo digitando 12 e 12, mentre l'altro non funziona, perchè? Cosa e dove ho sbagliato?
Ti lascio il codice e magari mi potrete dare un'occhiata?
Grazie

C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Progetto
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btnEntra_Click(object sender, EventArgs e)
{
//SqlConnection conn = new SqlConnection("Data Source=localhost;Initial Catalog=cristiano;Integrated Security=True");
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Documents and Settings\Zuddas Design\Documenti\Visual Studio 2005\Projects\Progetto\Progetto\database.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmq = new SqlCommand(@"SELECT * FROM accesso", conn);

conn.Open();

SqlDataReader leggi = cmq.ExecuteReader();

leggi.Read();

DialogResult Conferma1;
if((txtUsername.Text == "") && (txtPassword.Text == ""))
{
Conferma1 = MessageBox.Show("Inserisci la tua user e la password",
"Attenzione!",
MessageBoxButtons.OK,
MessageBoxIcon.Warning,
MessageBoxDefaultButton.Button2);
}
else
{

string username = leggi.GetString(leggi.GetOrdinal("username"));

string password = leggi.GetString(leggi.GetOrdinal("password"));

if((txtUsername.Text == username) && (txtPassword.Text == password))
{
MessageBox.Show("Welcome! You are now logged in " + username + " e " + password + "");
}
else
{

MessageBox.Show("Sorry, you didn't manage to log in.");

}

}

leggi.Close();
conn.Close();

}
}
}

lbenaglia Profilo | Guru

>Nel database ho messo due dati (username = 12, password = 12
>e username = 44, password = 44)
>Dopo aver fatto il codice, durante il debug, funziona e accede
>solo digitando 12 e 12, mentre l'altro non funziona, perchè?

>string username = leggi.GetString(leggi.GetOrdinal("username"));
>
>string password = leggi.GetString(leggi.GetOrdinal("password"));

Non duplicare i threads
Non ti conviene semplicemente passare i due argomenti ad una stored procedure parametrica che verifica tramite una banalissima SELECT se sono preseti in tabella?

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

z.cristiano Profilo | Newbie

Cioè?
Me lo spieghi?
Me lo fai vedere?
Perchè siccome ho il libro ADO.NET di Wrox e non c'è un'altro modo!

Fammi il codice e così leggo se vuoi!

Grazie
Cristiano

z.cristiano Profilo | Newbie

Scusa ho sbagliato a cliccare ACCETTA LA RISPOSTA, volevo risponderti!
Cmq, me lo fai vedere?

Se non ti dispiace!
Grazie

lbenaglia Profilo | Guru

>Cioè?
>Me lo spieghi?
>Me lo fai vedere?
>Perchè siccome ho il libro ADO.NET di Wrox e non c'è un'altro
>modo!
>
>Fammi il codice e così leggo se vuoi!
Non posso farlo dato che non conosco la base dati su cui stai lavorando e comunque non mi sembra il caso
Apri i Books Online e leggi cosa sono e come funzionano le stored procedures:

"Stored Procedure Basics"
http://technet.microsoft.com/en-us/library/ms191436.aspx

"CREATE PROCEDURE (Transact-SQL)"
http://msdn2.microsoft.com/en-us/library/ms187926.aspx

Una volta creata la stored procedure puoi richiamarla dal tuo codice .NET utilizzando un oggetto sqlCommand:

"SqlCommand Class (System.Data.SqlClient)"
http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.aspx

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5