Identificazione Query vuote in Vb.net / MySql

domenica 04 settembre 2005 - 12.49

theMadHatter Profilo | Newbie

Salve

Stò mettendo sù un programma utilizzando Vb.net connesso con un database MySql, il programma nella sua totalità funziona tranne che, non riesco a capire come sia possibile identificare le query che restituiscono risultati da quelle che restituiscono l'insieme vuoto. In pratica dovrei cercare dei buchi di eventuali chiave primarie (nel mio caso Id) venutesi a creare in seguito a cancellazioni e quindi eseguo una query del tipo "Select * from myDataBaseName where Id = IdVal" (dove IdVal viene incrementato fino a che la query mi restituisce un risultato, nel momento in cui non restituisce nulla utilizzo quell'id per il mio nuovo record da inserire)
Questo è il codice che dovrebbe funzionare ed invece non funziona, probabilmente stò sbagliando io il metodo da utilizzare!

Private Sub trovaSucessivo()
Dim c As New Connessione()
Dim myCommand As New MySqlCommand()
Dim myData As New DataTable()
Dim continue As Boolean = True

myCommand.Connection = conn (conn è una MySqlConnection globale nella classe)

While continue
conn.Open()
idVal = idVal + 1
myCommand.CommandText = "Select * from Proprieta where id = ?id"
myCommand.Parameters.Add("?id", idVal)
If (Not myCommand.ExecuteReader.HasRows) Then
continue = False
IdT.Text = idVal
End If
conn.Close()
myCommand.Dispose() (aggiunta o meno questa istruzione sempre non funziona, implica un rilascio delle risorse comunque)
End While
conn.Close()

End Sub




Grazie in anticipo

Attendo risposte dai grandi maghi! :-)

Alessandro

Cteniza Profilo | Guru

Non so se per trovare i buchi non sia sufficiente questo:
SELECT Tab.ID
FROM Tab
WHERE NOT EXISTS (SELECT ID FROM Tab AS t2 WHERE t2.ID = tab.id - 1);
Questa query ti restituisce gli id che costituiscono dei salti di numerazione e cioè gli elementi per i quali non esiste un ID - 1



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