Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [c#] problema con le variabili

    Ciao a tutti, io ho il seguente codice e mi dà un errore alquanto strano...
    codice:
    String luogoPar, indAr, luogoAr, indPar;
            cmd1 = conn.CreateCommand();
            cmd1.CommandText = "SELECT LuogoPartenza,IndirizzoP,LuogoArrivo,IndirizzoA,InizioOfferta,OraPartenza,OraRitorno FROM PERCORSO WHERE ID_Percorso = ID_Percorso";
            cmd1.CommandType = CommandType.Text;
            conn.Open();
            reader1 = cmd1.ExecuteReader();
            if (reader1.Read())
            {
                luogoPar = reader1["LuogoPartenza"].ToString();
                indPar = reader1["IndirizzoP"].ToString();
                luogoAr = reader1["LuogoArrivo"].ToString();
                indAr = reader1["IndirizzoA"].ToString();
            }
            conn.Close();
            txtPartenza.Text = "" + luogoPar + indPar;
            txtArrivo.Text = "" + luogoAr + indAr;
    non mi compila il codice perchè dice che luogoPar, indPar, luogoAr e indAr non sono assegnate...ma i valori glie li assegno nell'if... ho anche provato a commentare le ultime 2 righe e le assegnazioni nell'if avvengono correttamente... qual è il problema? forse che alle textbox nn posso assegnare valori di variabili?

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    il problema e' che nell' if potresti noon passarci (almeno in teoria).
    il compilatore prendee in carico questa eventualita e ti blocca.
    assegna alle var. un valore fittizio, nel momento in cui le dichiari
    (zero, o stringa vuota, qualsiasi cosa va bene, tanto poi verranno ricoperte nell' if)
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    altra domanda... la where e' corretta?

    cioe perche confrontare un campo con se stesso?
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  4. #4
    ah ok...c'avevo pensato peròmi sembrava strano...dovrebbe compilarla poi in caso dare errore a run time...vabbè..ora ho risolto passando i valori a una funzione sempre dall'if..
    si infatti ora devo modificare la query perchè così mi prende il primo campo del datalist anke se ne seleziono un altro...il problema è che non so come prendermi l'id_percorso per poi ottenere i dettagli del percorso che seleziona premendo il pulsante Dettagli... non so se sono stato chiaro...

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    da cio che ho capito, la tua query e' la query di un dettaglio...
    come recuperare l'id ci sono vari modi, dipende da cosa gli fai fare quando clicchi sulla riga del datalist!
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  6. #6
    gli faccio aprire una nuova pagina dove(vorrei) visualizzare i dettagli relativi al campo che ha selezionato e carico la mappa di google per mostrare il percorso che seleziona...solo che prendo sempre la prima riga...c'è un qualche "datalist".selectedItem.miocampo? io per popolare il datalist faccio una query ma poi non so come salvarmi l'id che sceglie perchè a quanto ho capito il dataBind non va riga per riga come potrebbe fare l'executeReader che poi lo scorri con un while...quindi booo

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    quindi suppongo che nel template del datalist hai messo un pulsante che apre la popup giusto?
    prova a postarlo se puoi!
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  8. #8
    no no...nessuna popup...non mi sopravvalutare...non so neanche come dirgli di aprire una nuova pagina e come passare i parametri quindi ho fatto con un multiview quindi dal datalist cliccando su dettagli a fine riga vado nel view2 dove volevo visualizzare maggiori info sul percorso e la mappa..
    codice:
    protected void Button1_Click(object sender, EventArgs e)
        {
            MultiView1.ActiveViewIndex = 1;
    
            GMap1.enableDragging = true;
            GMap1.enableGoogleBar = true;
            GMap1.Language = "it";
            GMap1.enableHookMouseWheelToZoom = true;
            //GMap1.mapType = GMapType.GTypes.Physical;   aggiungo il pulsante x la visualizzazione fisica della mappa
            //GMap1.addMapType(GMapType.GTypes.Physical);
            GMap1.addControl(new GControl(GControl.preBuilt.MapTypeControl));
            GMap1.enableGKeyboardHandler = true;
    
            GLatLng latlongAQ = new GLatLng(42.35017139318913, 13.404006958007812);
            GMapType.GTypes maptype = GMapType.GTypes.Hybrid;
            GMap1.setCenter(latlongAQ,10);
         
            //selezione campi db
            SqlCommand m_cmd,cmd1;
            SqlDataReader m_reader, reader1;
            String fermata;
            Double latitud, longitud;
    
            try
            {
                m_cmd = conn.CreateCommand();
                m_cmd.CommandText = "SELECT Fermata, Latitudine, Longitudine FROM FERMATA";
                m_cmd.CommandType = CommandType.Text;
                conn.Open();
                m_reader = m_cmd.ExecuteReader();
                while (m_reader.Read())
                {
                    fermata = m_reader["Fermata"].ToString();
                    latitud = Convert.ToDouble(m_reader["Latitudine"]);
                    longitud = Convert.ToDouble(m_reader["Longitudine"]);
                    CreaPuntiPercorso(latitud, longitud, fermata);
                }
                m_reader.Close();
            }
            finally
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
            }
    
            String luogoPar, indAr, luogoAr, indPar;
            cmd1 = conn.CreateCommand();
            cmd1.CommandText = "SELECT LuogoPartenza,IndirizzoP,LuogoArrivo,IndirizzoA,InizioOfferta,OraPartenza,OraRitorno FROM PERCORSO WHERE ID_Percorso = ID_Percorso";
            cmd1.CommandType = CommandType.Text;
            conn.Open();
            reader1 = cmd1.ExecuteReader();
            if (reader1.Read())
            {
                luogoPar = reader1["LuogoPartenza"].ToString();
                indPar = reader1["IndirizzoP"].ToString();
                luogoAr = reader1["LuogoArrivo"].ToString();
                indAr = reader1["IndirizzoA"].ToString();
                AssegnaPartenzaArrivo(luogoPar, indPar, luogoAr, indAr);
            }
            reader1.Close();
            conn.Close();
            GDirection direction = new GDirection();
            direction.autoGenerate = false;
            direction.buttonElementId = "percorsoBtn";
            direction.fromElementId = txtPartenza.ClientID;
            direction.toElementId = txtArrivo.ClientID;
            direction.divElementId = "div_directions";
            //direction.clearMap = true;
    
            GMap1.Add(direction);
    
        }
    
        protected void AssegnaPartenzaArrivo(String luogoPar, String indPar, String luogoAr, String indAr)
        {
            String LuogoP, IndP, LuogoA, IndA;
            LuogoP = luogoPar;
            LuogoA = luogoAr;
            IndP = indPar;
            IndA = indAr;
            txtPartenza.Text = "" +LuogoP + " " + IndP;
            txtArrivo.Text = "" +LuogoA + " " + IndA;
        }
    questo è il codice del clik su dettagli...manca la creazione del datalist che è in pageInit...è lunghetto ma è quasi tutto per la mappa non ti spaventare

  9. #9
    quindi mi sai aiutare? :master:

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.