Aiutino su lettura dati sql VB2010

domenica 22 luglio 2012 - 20.28

kleiko Profilo | Newbie

Ciao
non capisco cosa sbaglio

ho questa connessione a db sql contente gli utenti e pw per il login al mio programma, ho voluto miglirarlo impendendo l'accesso ad alcune funzioni a chi non avesse gli accessi di amministratore.
Tutto funziona, ma per prova ho messo una Msbox che mi restituisce il contenuto di "selectadministrator", ma invece di restituirmi SI o NO (come memorizzato all'interno del DB, nel campo administrator), mi scrive:
"SELECT Administrator FROM [User] WHERE ID = '" &1 (2 .. 3 .. in base al login inserito)
li DB è

ID Username Password Administrator
1 Mario Rossi SI
2 Marco Bianchi NO
3 Gianni Verdi SI

Private Sub ButtonOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOK.Click
Dim connection As New SqlClient.SqlConnection
Dim command As New SqlClient.SqlCommand
Dim adaptor As New SqlClient.SqlDataAdapter
Dim dataset As New DataSet
Dim selectadministratorsql As New SqlClient.SqlCommand
Dim selectadministrator As String


connection.ConnectionString = ("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Members.mdf;Integrated Security=True;User Instance=True")
command.CommandText = "SELECT * FROM [User] WHERE Username= '" & TextBoxUtente.Text & "'AND Password='" & TextBoxPassword.Text & "';"

connection.Open()

command.Connection = connection

adaptor.SelectCommand = command
adaptor.Fill(dataset, "0")


Dim count = dataset.Tables(0).Rows.Count


selectadministratorsql.CommandText = "SELECT Administrator FROM [User] WHERE ID = '" & count


MsgBox(selectadministrator)
.
.
.
.

mi si apre il form login
inserisco utente Mario e Password Rossi
poi premo ok e mi si apre il forum successivo, ma questo lasciamo perdere
quando premo ok
vorrei che nella variabile
selectadministrator di tipo string
ci sia "SI" che è il campo del DB Administrator nella riga ID 1 Utente Mario Password Rossi
non mi viene "SI" nella Msgbox (messa di prova), ma la frase che è il codice da me inserito
SELECT Administrator FROM [User] WHERE ID = '" &1

Sapete aiutarmi
Ciao

avarrati Profilo | Newbie

non so come spiegarmi, cmq ci provo..
sta nel fatto che semplicemente scambi input con output.
cioè usi 'selectadministratorsql' per sviluppare la query (giustamente)
ma l'output lo devi ottenere su un datareader o dataadapter
pertanto ti consiglio di fare sta roba qui

Dim lettore as new SqlClient.SqlDataReader
dim risultato as string
selectadministratorsql.CommandText = "SELECT Administrator FROM [User] WHERE ID = '" & count
lettore=selectadministratorsql.ExecuteReader()
lettore.Read()
risultato=lettore.getstring(0)
lettore.close

se poi vuoi far combaciare il risultato con selectadministratorsql allora lo applichi in commandtext facendo
selectadministratorsql.commandtext=risultato
(occhio però che se fai altre nuove query perdi il risultato)

fammi sapere come ti va..
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5