Oppure

Loading
21/01/09 11:14
xone2003
...
ad esempio la variabile "year" preleva un dato di 4 cifre "decimal" dalla tabella datitot e dovrebbe posizionarlo in un campo "decimal" nella tabella datibici.
non capisco l'errore di conversione!

:d:d
aaa
21/01/09 15:28
Il Totem
Mi sembra di avertelo già detto. Una query linq restituisce UNA LISTA di valori e NON un solo valore. Sarebbe come scrivere:
Dim Array(2) As String
Dim Stringa As String

Stringa = Array

E' sbagliato. Un array di stringhe non è convertibile in una stringa, così una collezione di qualsiasi tipo di dato non è convertibile in una sola variabile di quel tipo. Capit?
aaa
21/01/09 18:40
xone2003
Hai perfettamente ragione Totem,
me l'avevi già detto!
Tuttavia pensavo che con un select mirato e sapendo con certezza che il risultato poteva solo ed esclusivamente essere un valore unico si potesse comunque utilizzare senza specificare il (0) dopo la variabile.
Ovviamente non sapevo finchè mi hai delucidato dello (0) e nemmeno del fatto che il select risponde con un elenco di valori!

Ho corretto con le indicazioni che mi hai dato e con qualche aggiustamento sono riuscito ad importare tutto (con calma verificherò i dati ma sembra tutto ok)!!
Quindi ringrazio per il grande ed indispensabile aiuto!!!

GRAZIE!!!!
:k::k::k::k::rotfl::rotfl::rotfl:
aaa
22/01/09 16:43
Il Totem
Ecco. :k:
aaa
23/01/09 9:27
xone2003
Purtroppo sono andato a complicarmi la vita e se l'insert lo faccio senza alcun criterio, come appena postato, tutto ok.....mentre se cerco di effettuare un controllo delle eventuali righe duplicate non funziona ed inserisce comunque tutto.
ho pensato che il problema potesse essere un mancato aggiornamento della tabella nel momento del controllo duplicati ma non è questo il caso.

Credo si tratti di come vengono gestite le righe di controllo alla dichiarazione K.
Probabilmente il risultato della select è zero/nessuna.

Preciso che il nome delle colonne "Bicicletta" e "categoria" sono gli stessi ma in due tabelle differenti.

Praticamente il funzionamento dovrebbe essere:
ad ogni riga del database "datitot" da cui attingere i dati, prendo la prima riga "bicicletta" e "categoria" poi questi valori li confronto con quelli eventualmente presenti nella tabella Tipologiabike alla voce "bicicletta" e "categoria" e se non sono presenti (not k>=1) allora le inserisco.

Però come ho già detto, mi inserisce tutto quanto indipendentemente dai duplicati, quindi dopo aver provato ad effettuare un update della tabella ad ogni ciclo non saprei come modificare il codice.

Sono sicuro che mi prenderò un'altra tirata d'orecchie....perchè credo di intuire che il problema sia sempre nel discorso valore unico o lista di valori.

:d:d

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        
        Dim controllo = Me.DatiExcelDataSet.DatiTot.Rows.Count
        Dim i = 0

        For i = 1 To controllo Step 1
            Dim Bike = From riga As DatiExcelDataSet.DatiTotRow In Me.DatiExcelDataSet.DatiTot _
                      Where riga.Nr = i Select riga.Bicicletta
            Dim Cat = From riga As DatiExcelDataSet.DatiTotRow In Me.DatiExcelDataSet.DatiTot _
                      Where riga.Nr = i Select riga.Categoria
            Dim InsertinTipologiaBike As DBDatiBiciDataSetTableAdapters.TipologiaBikeTableAdapter = New DBDatiBiciDataSetTableAdapters.TipologiaBikeTableAdapter
            Dim k = From riga As DBDatiBiciDataSet.TipologiaBikeRow In Me.DbDatiBiciDataSet.TipologiaBike _
                    Where riga.Bicicletta = Bike(0) And riga.Categoria = Cat(0) _
                    Select riga.Bicicletta & riga.Categoria
            If Not k.Count >= 1 Then
                Try
                    InsertinTipologiaBike.InsertQuery2(Bike(0), Cat(0))
                    TipologiaBikeTableAdapter.Update(DbDatiBiciDataSet)
                Catch ex As Exception
                    MsgBox(ex.Message, MsgBoxStyle.Critical)
                End Try
            Else
            End If
        Next
        MsgBox("inserimento nel database Biciclette completato")
    End Sub
End Class
Ultima modifica effettuata da xone2003 23/01/09 9:30
aaa
23/01/09 14:39
xone2003
OK OK OK!!!
trovato!

le orecchie me le tiro da solo!!

Ho "dimenticato" dopo la riga di insert una ulteriore in cui ricarico la tabella prima del successivo ciclo for!

in pratica aggiungendo :
Me.TipologiaBikeTableAdapter.Fill(Me.DbDatiBiciDataSet.TipologiaBike)

dopo l'insert e quindi prima del successivo ciclo "for" tutto è andato a posto!!

Devo dire che il timore di una tirata d'orecchie mi è servito!
grazie!

:k::k:
Ultima modifica effettuata da xone2003 23/01/09 15:16
aaa