DotNetToscana
User Group Toscano su .NET

if <> come si inserisce in asp.net c#

rated by 0 users
Not Answered This post has 0 verified answers | 3 Replies | 2 Followers

Top 10 Contributor
Male
77 Posts
luigi posted on 06-24-2009 12.26

Salve, vorrei fare una differenza , ma visual studio mi da errori es:

rdr è un odbcdatareader.

  if (rdr["_email"] <> (txtEmail.Text))
                {

 }

else
{

}

Mi dice: Errore    5    '>' è un termine non valido nell'espressione

vorrei fare cosi , perchè devo scrivere un vecchio codice che era in asp classic ma ora in .net.

 

Quello che vorrei fare è se le email risulta uguale modifica solo i campi richiesti , ma se e diversa modifica i campi e l'email.

 

in asp 3 , lo so fare ma in dot.net no.

 

come si può fare per non venire l'errore forse io sbaglio qualche sintassi.

mi potete aiutarmi.

All Replies

Top 10 Contributor
Male
64 Posts

Scusa la pignoleria ma vorrei segnalare alcune imprecisioni:

  • "vorrei fare una differenza": è più corretto dire "vorrei effettuare un confronto"
  • "visual studio mi da errori": gli errori non li da Visual Studio, l'IDE mostra semplicemente nella "Error List" l'elenco degli errori restituiti dal compilatore C# (csc.exe)

L'operatore per controllare se due stringhe sono diverse è != e non <>. Accertati anche se è necessario effettuare un cast a string sul tipo ritornato da rdr["_email"].

In ogni caso, se ti capitano spesso problemi di questo tipo, ti consiglio caldamente la lettura di un buon libro sul linguaggio C#.

Infine alcune note un pò polemiche ma che ritengo importanti:

  • Per trovare la risposta a questo semplice problema di sintassi era sufficiente cercare su un motore di ricerca qualcosa come "operatori c#". Scrivere sul forum in questo caso era inutile.
  • Siccome i problemi che si affrontano sul forum possono essere di interesse colletivo gradirei se scrivessi i post un pò meno di fretta in modo da rendere l'esposizione del problema più chiara e comprensibile e in un italiano il più possibile corretto. In questo modo sicuramente avrai risposte più chiare e precise e farai un miglior servizio all'intera community.

Grazie.

Saluti e buon lavoro


 

-----------------------------------------
Angella Andrea
Microsoft Certified Technology Specialist
http://www.angellaa.it/

Top 10 Contributor
Male
77 Posts

ok, però adesso mi da questo errore:

 

System.InvalidOperationException: Tentativo non valido di chiamare Read con reader chiuso. in System.Data.Odbc.OdbcDataReader.Read() in ASP.profilo_email_aspx.btnEdit_Click(Object sender, EventArgs e) in d:\wwwroot\luigiamorfini\profilo_email.aspx:riga 66

 

e il codice:questo:

 

 protected void btnEdit_Click(object sender, EventArgs e)
    {

      
            try
            {
                 OdbcConnection conn = new OdbcConnection(connectionString);
                 string SQL = "SELECT * FROM users WHERE UsersId=?";
                conn.Open();
                OdbcCommand cmd = new OdbcCommand(SQL, conn);
                cmd.Parameters.AddWithValue("?", "" + Session["UsersId"] + "");

                OdbcDataReader rdr = cmd.ExecuteReader();

                if (rdr.Read())
                {
                    {
                        if (rdr["_email"].ToString() != txtEmail.Text)
                        {
                            string sSQL = "UPDATE  users set _username=?,";
                            sSQL = sSQL + "_email=?,";
                            sSQL = sSQL + "nl=?";
                            sSQL = sSQL + "WHERE UsersId=?";

                            OdbcCommand cmd_update = new OdbcCommand(sSQL, conn);
                            cmd_update.Parameters.AddWithValue("?", txtUsername.Text);
                            cmd_update.Parameters.AddWithValue("?", txtEmail.Text);
                            cmd_update.Parameters.AddWithValue("?", ddNL.SelectedItem.Text);
                            cmd_update.Parameters.AddWithValue("?", "" + Session["UserId"] + "");
                            cmd_update.ExecuteNonQuery();
                            conn.Close();
                        }
                        else
                        {

                            string sSQLu = "UPDATE  users set _email=? WHERE UsersId=?";

                            OdbcCommand cmd_update = new OdbcCommand(sSQLu, conn);
                            cmd_update.Parameters.AddWithValue("?", txtEmail.Text);

                            cmd_update.Parameters.AddWithValue("?", "" + Session["UserId"] + "");
                            cmd_update.ExecuteNonQuery();
                            conn.Close();
                        }
                    }
                }
            }
            catch (System.Exception exc)
            {
                lblMsg.Text = "" + exc.ToString() + "";
            }
        }

 

Mi dici come mai?.

 

grazie.

Top 10 Contributor
Male
77 Posts

scusa, retifico era solo scaduta la sessione.

ora funziona,

 

 protected void btnEdit_Click(object sender, EventArgs e)
    {

      
            try
            {
                 OdbcConnection conn = new OdbcConnection(connectionString);
                 string SQL = "SELECT * FROM users WHERE UsersId=?";
                conn.Open();
                OdbcCommand cmd = new OdbcCommand(SQL, conn);
                cmd.Parameters.AddWithValue("?", "" + Session["UserId"] + "");

                OdbcDataReader rdr = cmd.ExecuteReader();

                if (rdr.Read())
                {
                    {
                        if (rdr["_email"].ToString() != txtEmail.Text)
                        {
                           

                            string sSQLu = "UPDATE  users set _email=? WHERE UsersId=?";

                            OdbcCommand cmd_update = new OdbcCommand(sSQLu, conn);
                            cmd_update.Parameters.AddWithValue("?", txtEmail.Text);

                            cmd_update.Parameters.AddWithValue("?", "" + Session["UserId"] + "");
                            cmd_update.ExecuteNonQuery();
                        }
                        else
                        {

                            string sSQL = "UPDATE  users set _username=?,";
                            sSQL = sSQL + "_email=?,";
                            sSQL = sSQL + "nl=?";
                            sSQL = sSQL + "WHERE UsersId=?";

                            OdbcCommand cmd_update = new OdbcCommand(sSQL, conn);
                            cmd_update.Parameters.AddWithValue("?", txtUsername.Text);
                            cmd_update.Parameters.AddWithValue("?", txtEmail.Text);
                            cmd_update.Parameters.AddWithValue("?", ddNL.SelectedItem.Text);
                            cmd_update.Parameters.AddWithValue("?", "" + Session["UserId"] + "");
                            cmd_update.ExecuteNonQuery();
                        }
                    }
                    conn.Close();
                }
            }
            catch (System.Exception exc)
            {
                lblMsg.Text = "" + exc.ToString() + "";
            }

Page 1 of 1 (4 items) | RSS
Powered by Community Server (Commercial Edition), by Telligent Systems