Leggere dati da una riga e valutarli con textbox

martedì 01 marzo 2011 - 15.02
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Visual Studio 2010  |  SQL Server 2008 R2

Michael Profilo | Newbie

Ciao! Ho da poco iniziato a studiare sql server ma sto avendo molte difficoltà. Soprattutto nel capirne la logica.

Ho una tabella che contiene Nomi e Cognomi chiamata nomi.
Vorrei scrivere una query in VB2010 per far confrontare se la combinazione nome e cognome(che inserisco da vb tramite 2 text box) esiste nella tabella e in tal caso che li scriva in un'altra textbox.

Dim NomeID As String = nome.Text
Dim sql As String = "SELECT Nome, Cognome FROM dbo.nomi" & "WHERE (Nome = '" & NomeID & "') "

Se potete, spiegatemi cosa deve fare vb per far capire ciò a sql.

Grazie a presto!

ma_di Profilo | Junior Member

>Ciao! Ho da poco iniziato a studiare sql server ma sto avendo
>molte difficoltà. Soprattutto nel capirne la logica.
>
>Ho una tabella che contiene Nomi e Cognomi chiamata nomi.
>Vorrei scrivere una query in VB2010 per far controntare se la
>combinazione nome e cognome(che inserisco da vb tramite 2 text
>box) esiste nella tabella e in tal caso che li scriva in un'altra
>textbox.
>
>Dim NomeID As String = nome.Text
>Dim sql As String = "SELECT Nome, Cognome FROM dbo.nomi" & "WHERE
>(Nome = '" & NomeID & "') "
>
>Se potete, spiegatemi cosa deve fare vb per far capire ciò a
>sql.
>
>Grazie a presto!
>
Ciao.
Indipendentemente dal linguaggio, l'interrogazione di un database presuppone l'apertura di una connessione con il medesimo; esistono vari modi ( stringa di connessione, ODBC, connessione con autenticazione utente + password, autenticazione windows); dopo l'apertura della connessione allora puoi fare le tue select, andando a prendere i dati come meglio credi.
Comincia per gradi, e soprattutto non fare le select come hai scritto sopra, ma piuttosto guarda le query parametrizzate.

Michael Profilo | Newbie

grazie ma_di
alla connessione ci sono arrivato, sono anche riuscito ad estrarre tutti i dati dalle tabelle, ora però non riesco ad andare avanti.
Seguirò con attenzione il tuo consiglio.
Comincerò a cercare cosa vuol dire esattamente.

Michael Profilo | Newbie

Brancolo nel buoi e i libri non mi aiutano...
Mi vengono solo i nervi.
Puoi darmi qualche link dove posso schiarirmi le idee?

ma_di Profilo | Junior Member

>grazie ma_di
>alla connessione ci sono arrivato, sono anche riuscito ad estrarre
>tutti i dati dalle tabelle, ora però non riesco ad andare avanti.
Come e dove li hai estratti?
Posta il codice che gli do un'occhiata; poi entra un po' più nel dettaglio di cosa vuoi fare con quei dati.
Ciao.

Michael Profilo | Newbie

Grazie per la pazienza e la comprensione. :D

Allora mi connetto al DB
Me.SqlConnection1.ConnectionString = "Integrated Security=SSPI;" & "Persist Security Info=False;" & "Initial Catalog=prova1;" & "Data Source=PC\SQLEXPRESS"
If Me.SqlConnection1.State = 0 Then
Me.SqlConnection1.ConnectionString = "Integrated Security=SSPI;" & "Persist Security Info=False;" & "Initial Catalog=prova1;" & "Data Source=PC\SQLEXPRESS"
Me.SqlConnection1.Open()
End If
Me.Label1.Text = "Connesso"

legge i dati e li mette in una list box

Dim sql As String = "SELECT * FROM Nomi" & "WHERE Nome = " & "'Pippo' AND Cognome = 'Pippa'"
Me.SqlConnection1.Open()
Dim Comando As New SqlCommand(sql, Me.SqlConnection1)
Dim dr As SqlDataReader = Comando.ExecuteReader()
While dr.Read()
Me.ListBox1.Items.Add("Nome e cognome" + dr("Nome") + " " + dr("Cognome"))
End While
Me.SqlConnection1.Close()

' non fa altro che copiare pippo pippa :D nella list box

1. Allora tanto per cominciare non ho chiaro SqlCommand(sql, Me.SqlConnection1)
Sqlcommand da quello che ho capito è un comando che viene lanciato sul server(da vb) mentre sql e me.sqlconnection sono argomenti che servono per elaborare la richiesta. Cioè gli serve 1. la query e 2.la connessione sul DB e carica il dato nella variabile comando.
Come faccio a sapere l'elenco completo degli argomenti che si può dare a un elemento?

2. Dim dr As SqlDataReader = Comando.ExecuteReader()
While dr.Read()
Me.ListBox1.Items.Add("Nome e cognome" + dr("Nome") + " " + dr("Cognome"))
End While

dovrebbe leggere il dato sul server e copiarlo nella list box (se me lo commenti mi fai un favore)

Cosa vorrei fare.

1.Lavorare con le variabili e non con dati scritti nel codice.
Quindi vorrei mettere 2 textbox (nome cognome), assegnare 2 variabili di tipo stringa
nome1, cognome 1 as string
2.inserirle nella query
3.far valutare se la combinazione nome & cognome sono presenti come record nella tabella nomi. In caso affermativo farle scrivere in una label o quello che volete.

Il mio problema nasce dal fatto che il libro che ho comprato SQL server 2008 passo per passo di HOTEK, è impostato veramente male. E si risolve nel fare tipo: Esegui query n1 cap 3. (senza considerare che lui non usa la express)
E va avanti così, con pochi riferimenti all'aspetto visuale di sql server (hotek scrive nel libro che l'aspetto visuale non aiuta a imparare).
Quel libro glielo tirerei in faccia (che tra l'altro sono 2). Per un pricipiante che viene dal diritto e non dall'informatica è difficile.
Sono stato ingannato dall'ottimo libro passo passo del professor halvorson per VB2010 consigliatomi da ale in Email. Pensavo che avrei trovato la stessa capacità didattica...grave errore.
O meglio ora come ora smadonnno, ma non è detto che tra qualche mese dopo aver letto migliaia di altre cose che spieghino la logica potrò dire:- la fama internazionale di hotek è ben meritata.
Per ora è meglio che non mi incontra per strada.


Ciao

PS chiaramente sto scherzando :D


ma_di Profilo | Junior Member

Ciao Michael,
prima di tutto fai un bel respiro lungo.... e stai sereno
Al di la di tanti libri, spiegazioni al volo,pezzi di software copia e incolla... memorizza questo link
http://msdn.microsoft.com/en-us/vbasic/ms789086

Io arrivo dalla programmazione procedurale; passare agli oggetti non è stato facile ( e ribadisco che non lo è tutt'ora); ma con tanta pazienza e tanto impegno ora faccio delle belle cosine...
Un libro su sql 2008 difficilmente da indicazioni sul linguaggio; al limite di parla di sql, ma concordo con il fatto che gli ambienti visuali molto spesso sono forvianti, nel senso che non ti fanno capire ciò effettivamente avviene.
Usa anche l'help in linea sui metodi e proprietà ( clicchi su ciò che hai scritto e premi F1); ti si apre in automatico MSDN ed ottieni tutte le info.
Scusami se non ti correggo nulla o non ti dò le spiegazioni che magari ti aspettavi, ma se non hai un minimo le idee chiare su come funziona un ambiente visuale orientato agli oggetti, forse è meglio che ti crei prima qualche base, in modo che successivamente potrai formulare domande "mirate".
Ciao, buon studio e buon lavoro; in ogni caso il forum è sempre aperto..beninteso!!!
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