Srivere una Select

lunedì 29 maggio 2006 - 16.00

bluland Profilo | Guru

Salve, avrei necessita' di interrogare un db sql scegliendo di interrogarlo per qualsiasi dei suoi campi allora le strade erano due:
1 scrivere tante query quanti erano i campi es. db composto da campi di
Cognome, Nome, Telefono
allora scrivevo 3 query

2 scrivere una sola query e mettere una variabile, ed e' quello che ho fatto, in questo caso il campo e' scelto tramite una ddl
ma non funziona mi da un errore tipo:
DataBinder.Eval: 'System.Data.Common.DbDataRecord' does not contain a property with the name Cognome.

ecco il codice che ho scritto:

Dim queryStrumenti As String = "select '" & Me.ddlfiglio.SelectedItem.Value & "' from ASM_Strumenti"

ConnStr.Open()

Dim cmd As New SqlCommand(queryStrumenti, ConnStr)

Dim reader As SqlDataReader

reader = cmd.ExecuteReader(CommandBehavior.CloseConnection)

Me.ddlelemento.DataSource = reader
Me.ddlelemento.DataMember = Me.ddlfiglio.SelectedItem.Value
Me.ddlelemento.DataTextField = Me.ddlfiglio.SelectedItem.Value

Me.ddlelemento.DataBind()
Me.ddlelemento.Visible = True


cosa ho sbagliato? avete qualche altra idea? poiche sarebbe scocciante scrivere n query quanti sono i campi della tabella...
grazie aspetto notizie...

bluland Profilo | Guru

ad esempio?

grazie

bluland Profilo | Guru

hai ragione, dimentico sempre msdn grazie corro a darci un okkiata e ti faccio sapere

ho dato un okkiata ma in questo link la select viene fatta usando un datareader allo stesso modo mio, i parameter li usa su update, cmq ho capito qual'era l'errore, cioe' nella sintassi infatti non devo mettere gli ' '.

in questo modo funziona:Dim qe As String = "select " & Me.ddlfiglio.SelectedItem.Value & " from miaTabella "

dove ddlfiglio e la ddl che e' l'ingresso per la select, ora pero' e' nato un altro problema e cioe' (un esempio vale + di 1000 parole)

es. nella tabella ho un campo NumTelefonico, nell'array che riempe la ddlfiglio sarebbe brutto far apparire NumTelefonico ma vorrei far Apparire "Numero Telefonico" solo che la select non lo riconosce come un campo del db, a questo punto ho pensato di codificare una associazione nome tabella (NumTelefonico) e nome che voglio far apparire(Numero Telefonico), come posso fare?,ovviamente non posso cambiare i nomi dei campi nel db ma quello che apparira' nella ddl dovra' essere indipendente.

idee?
grazie Enzo
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