Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 30
  1. #11
    so benissimo che devo cambiare nome alle colonne a seconda di come si chiamano le mie e naturalmente anche il nome della tabella, cmq l'errore che mi da nel mio codice c# è un eccezione (Argument Exception) e mi dice che la colonna TipDoc non appartiene alla tabella; ti ripeto che ho provato a fare la piu classica delle query "select * from tabella" e tutto funziona: praticamente sto leggendo una tabella di un database per riscrivere quello che voglio su un altra tabella di un altro database...
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

  2. #12
    aggiungo: fa' un esempio reale di ciò che hai e di ciò che vorresti

  3. #13
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Allora, se di mezzo c'è anche un programma in C#...

    Hai modo di eseguire la query direttamente sul database (con l'Enterprise Manager, con il Management Studio) ?

    Prova (dal programma C# a questo punto...) ad eseguire una più banale

    "select TipDoc,NDoc,Reg from tabella"

    se anche così non funziona o non stai usando i nomi giusti delle colonne o non è un problema di database...

  4. #14
    codice:
    string selectSQL1;
                selectSQL1 = "select max(TipDoc), max(NDoc), max(Reg) from Documenti group by TipDoc, NDoc, Reg";
                OleDbCommand cmd1 = new OleDbCommand(selectSQL1, conn);
                OleDbDataReader reader1;
                DataSet myDataSet1 = new DataSet();
                OleDbDataAdapter myDataAdapter1 = new OleDbDataAdapter(selectSQL1, conn);
    
    
                try
                {
                    conn.Open();
                    reader1 = cmd1.ExecuteReader();
                    myDataAdapter1.Fill(myDataSet1, "Documenti");
    
                    con.Open();
    
                    foreach (DataTable table in myDataSet1.Tables)
                    {
                        foreach (DataRow row in table.Rows)
                        {
                            
    
                            string thisQuery = "INSERT INTO Testa (Tipo, Numero, Registro) VALUES (@Tipo, @Numero, @Registro)";
                            SqlCeCommand thisCommand = new SqlCeCommand(thisQuery, con);
    ECCEZZIONE----> thisCommand.Parameters.AddWithValue("@Tipo", row["TipDoc"]);
                            thisCommand.Parameters.AddWithValue("@Numero", row["NDoc"]);
                            thisCommand.Parameters.AddWithValue("@Registro", row["Reg"]);
    
                            thisCommand.ExecuteNonQuery();
                        
                        }
                    }
    
                }
    questo è parte del mio codice funzionante però con la query suggerita, e l'eccezione che mi scatena è nella riga indicata...
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

  5. #15
    QUESTA FUNZIONA!!!!
    select TipDoc,NDoc,Reg from tabella
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

  6. #16
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Tu vai a "puntare" alle colonne risultanti dalla query usando il loro nome originario, ma che viene perso nelle operazioni di max()

    Devi usare degli alias e poi nel tuo codice puntare a quelli

    select max(TipDoc) as ATipDoc, max(NDoc) as ANDoc, max(Reg) as AReg from tabella group by TipDoc, NDoc, Reg


    e poi nel tuo codice (la parte sotto) userai ".. row["ATipDoc"]..." e così via per gli altri due

  7. #17
    provo al volo e ti faccio sapere...
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

  8. #18
    FUNZIONA!!! grazie mille, non so come avrei fatto senza il tuo aiuto...alla prossima!! (difficoltà)
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

  9. #19
    ma adesso mi sorge un dubbio...funziona anche nel caso ho una cosa diversa da "carta" nella colonna "tipo documento"? ad esempio se ho la riga inventata:

    codice:
    TIPDOC  NUM   REG
    cartone  3        a
    in teoria non la dovrebbe prendere perche fa il distinct con il numero 3 che è già presente nella tabella, ma in questo caso mi cambia il tipo documento in "cartone" questa la prende o non la prende?
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

  10. #20
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    No, non fa il "distinct" perchè lavora con il group by (come vedi infatti nella query non c'è alcun termine "distinct")

    E' proprio per quello che all'inizio ti avevo chiesto se il campo reg era sempre uguale ad 'a' (e la cosa vale anche per il campo tipodoc)

    Riporta allora un esempio COMPLETO dei dati che possono essere contenuti nella tua tabella e di cosa vuoi ottenere così vediamo cosa fare

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.