Ciao a tutti,
premetto che prima di scrivere ho cercato soluzioni per giorni senza alcun risultato.
Vi spiego cosa voglio fare...
Ho una query che fa un join di tre tabelle... voglio ottenere una datatable da questa query ed usarla come datasource in una combo.
a grandi linee faccio così:
....
Dim out as new Datatable
Command = New MySql.Data.MySqlClient.MySqlCommand(QueryString, cnt)
r = Command.ExecuteReader
out.Load(r)
...
La stessa query eseguita su un editor mysql funziona e mi da due righe di risultato... se la eseguo in vs mi genera un'eccezione in "out.load(r)"... e dice: "Impossibile attivare i vincoli. Una o più righe contengono valori che violano il vincolo not null....".
In effetti nelle tabelle ci sono dei campi che devono essere 'unique' ed infatti i valori all'interno delle singole tabelle non possono essere duplicati ma non capisco perchè anche una query dove sicuramente quei campi saranno ripetuti e non univoci richieda i vincoli di tabella per essere assegnata ad una datatable.
Qualcuno di voi conosce un sistema per risolvere la cosa? Oppure... sono io che sbaglio (probabile) qual'è il modo corretto per fare questa query?
P.S. Se su tutte e tre le tabelle tolgo i vincoli not null e unique da tutti i campi la query funziona anche in vs, inoltre finchè non metto valori che nella query darebbero campi unique ripetuti nessuna eccezione.
P.S.2 Anche se nn credo proprio dipenda dalla query... vi scrivo la query:
SELECT
eventi_fiera.id,
eventi_fiera.datimo,
eventi_fiera.datfmo,
eventi_fiera.datiex,
eventi_fiera.datfex,
eventi_fiera.datism,
eventi_fiera.datfsm,
eventi_fiera.note,
eventi_fiera.datpar,
eventi_fiera.annotazioni,
manifestazioni.man_des,
tipi_lavori.descri,
localita_fieristiche.loc_des,
localita_fieristiche.loc_naz,
concat(localita_fieristiche.loc_des, " - ",localita_fieristiche.loc_naz) as localita
FROM
eventi_fiera join manifestazioni on eventi_fiera.`id_manifestazione` = manifestazioni.`id`
join localita_fieristiche on eventi_fiera.`id_localita` = localita_fieristiche.id
join tipi_lavori on tipi_lavori.`id` = eventi_fiera.`id_tipo_lavoro`
Eterna riconoscenza a chi mi aiuta!
Grazie
Babbubba
www.babbubba.net
Chiedere è curiosità ... rispondere è educazione.