Se esiste allora..... VB

mercoledì 08 dicembre 2010 - 18.34

Feroxkk Profilo | Junior Member

Sto facendo delle prove e cercando di riscontrare dei paramentri tra il form e un database.
In questo caso devo semplicemente sapere se quello che viene cercate esiste senza ottenere dati.
La prima idea che mi sono fatto è semplicemente lanciare una query e vedere se selezionando un valore in un campo inteso come SELECT * FROM Tabella WHERE x = x1 e y = y1.
Se ottendo almeno un risultato so che esiste un certo valore che cerco.
In questo caso come ottendo un valore anche booleano che mi dica se sono stati trovati valori?

Nel secondo caso vorrei sapere se è possibile tramite che ne so, store procedure o altro ottenere lo stesso risultato.

aabruzzese Profilo | Junior Member

Dim HowMany As Integer
SqlCmd = New SqlCommand("Select count(*) from TABLE where FIELD = 'VALUE' ", cs)
HowMany = SqlCmd.ExecuteScalar

si no...

Dim myConnection as New SqlConnection(connection string)
myConnection.Open()
Dim myCommand as New SqlCommand("select count(*) from table where myfield = xxxxxx ", myConnection)
dim count as integer=cint(myCommand.ExecuteScalar())
myConnection .close()

label.text= count .ToString()



Angelo Abruzzese

lbenaglia Profilo | Guru

>Nel secondo caso vorrei sapere se è possibile tramite che ne
>so, store procedure o altro ottenere lo stesso risultato.

Dato che parli di Stored Procedure deduco che stia utilizzando SQL Server.
In questo caso potresti scrivere una stored procedure parametrica che riceve in input i 2 parametri ed in output restituisce un valore bit (1/0) in base al fatto di aver trovato o meno una corrispondenza.
Invece di eseguire una SELECT * o peggio una SELECT COUNT(*) è possibile ricorrere alla funzione IF EXISTS(SELECT *...) molto più efficiente rispetto alle prime due soluzioni.
Lato client puoi richiamare la stored procedure via SqlCommand.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

aabruzzese Profilo | Junior Member

Si quello e vero, come si dice.. I try to keep it simple.

:)


Angelo Abruzzese

Feroxkk Profilo | Junior Member

>Nel secondo caso vorrei sapere se è possibile tramite che ne
>so, store procedure o altro ottenere lo stesso risultato.

>Dato che parli di Stored Procedure deduco che stia utilizzando SQL Server.
>In questo caso potresti scrivere una stored procedure parametrica che riceve in input i 2 parametri ed in output restituisce un valore bit (1/0) in base al fatto di aver trovato o >meno una corrispondenza.
>Invece di eseguire una SELECT * o peggio una SELECT COUNT(*) è possibile ricorrere alla funzione IF EXISTS(SELECT *...) molto più efficiente rispetto alle prime due soluzioni.
>Lato client puoi richiamare la stored procedure via SqlCommand.

Perfetto era proprio questo che stavo cercando IF EXIST, mi era stato spiegato ma non ho preso appunti.
Questi giorni provo e vedo se riesco.
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