Mi trovo in questa situazione:
debbo recuperare dei dati da un un file dbf, usando System.Data.OleDb, di cui non conosco il tipo della chiave, numerica o stringa.
SELECT CAMPO FROM TABELLA WHERE CHIAVE = "123" va in errore se chiave è numerica.
Ho risolto come da codice, ma mi chiedevo se si potesse risolvere in modo diverso senza il Try-Catch
ciao
codice:
Dim stringa As Boolean = True
Try
sql = String.Format("select * from {0} where {1} = ""{2}"" ", dbf_name, campo_chiave, p_key)
dt1 = msole.GetDataTable(con, sql)
r1 = dt1.Rows(0)
Catch ex As Exception
stringa = False
End Try
If Not stringa Then
sql = String.Format("select * from {0} where {1} = {2} ", dbf_name, campo_chiave, p_key)
dt1 = msole.GetDataTable(con, sql)
r1 = dt1.Rows(0)
End If