Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Aiuto query con apice

  1. #1

    Aiuto query con apice

    Salve, ho una queri di questo tipo:

    "INSERT INTO Table (Regione) values ( '" + regioneTextBox.Text + "'' )"

    Il mio problema è che la regione può essere anche Valle D'aosta, in questo caso mi da errore sull'apice, come posso rislovere? grazie 1000
    www.ertinformatica.com Vendita computer e hardware

    www.risorsefantacalcio.it News, voti del Corriere e della Gazzetta, e tanto altro.

    www.parrocchie.eu Parrocchie e siti cattolici italiani

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ti mando una pagina completa; io uso i parametri
    codice:
    <%@ Page Language="C#" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
        protected void Page_Load(object sender, EventArgs e)
        {
            string comando_ajax = ModuloWeb.RequestParams("comando_ajax");
            if (comando_ajax == "aggiorna_database") aggiorna_database();
        }
    
        void aggiorna_database()
        {
            string testo = "";
            string sql = "UPDATE CAMPI SET TESTO = ? WHERE ID = 1 ";
            OleDbConnection con = null;
            try
            {
                testo = ModuloWeb.RequestParams("testo");
                con = new OleDbConnection(MioModulo.StringaConnessioneTest);
                con.Open();
                OleDbCommand com = con.CreateCommand();
                com.CommandText = sql;
                com.Parameters.Add("testo", OleDbType.VarChar, 50).Value = ModuloWeb.StringNullToDBNull(testo);
                com.ExecuteNonQuery();
                this.Response.Write("Tabella aggiornata con successo (" + testo + ")");
            }
            catch
            {
                this.Response.Write("Errore aggiornamento tabella");
            }
            finally
            {
                if (con != null) con.Close();
            }
            Response.End();   
        }
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Pagina senza titolo</title>
        <link href="../../../stili/Styles.css" rel="stylesheet" type="text/css" />
        <script type="text/javascript" src="../../../js/prototype-1.5.0.js"></script>
    
        <script language="javascript" type="text/javascript">
    // <!CDATA[
    
    function Button1_onclick() 
    {
        var parametri = "testo=" + encodeURIComponent($("Text1").value);
        var url_action = "?comando_ajax=aggiorna_database";
        
        var j = new Ajax.Updater(
                    'div1',
                    url_action,
                    {parameters:parametri}
                    );
        
    }
    
    
    // ]]>
        </script>
    </head>
    <body>
        <form id="form1" runat="server" >
            <label for="Text1">nome: </label>
            <input id="Text1" type="text" style="border:1px black solid;" />
            <input id="Button1" type="button" value="aggiorna" onclick="Button1_onclick();"/>
            <div id="div1"></div>
        </form>
    </body>
    </html>
    Pietro

  3. #3
    per il problema dell'apice io ho risolto così:
    codice:
    INSERT INTO Table (Regione) values ( '" + regioneTextBox.Text.replace("'","''") + "'' )
    cioè facendo un replace e sostituendo l'apice con due apici, in quel modo l'istruzione funziona e nel db viene salvato un apice soltanto
    Visual Basic e Dintorni
    Blog sullo sviluppo Web in generale

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Non so se possa servire :master:
    codice:
        '----------------------------------------------
        'Sostituisce alcuni caratteri 'strani' in una 
        'istruzione SQL
        '----------------------------------------------
        Public Function FixSQL$(ByVal stringa$)
            stringa = stringa.Replace("""", """""")
            stringa = stringa.Replace("'", "''")
            stringa = stringa.Replace("%", "[%]")
            stringa = stringa.Replace("[", "[[]")
            stringa = stringa.Replace("]", "[]]")
            stringa = stringa.Replace("_", "[_]")
            stringa = stringa.Replace("#", "[#]")
            FixSQL = stringa
        End Function
    ma con i parametri mai avuto problemi
    Pietro

  5. #5
    Grazie degli aiuti, sono stati molto utili, ho risolto i problemi di simboli Thks
    www.ertinformatica.com Vendita computer e hardware

    www.risorsefantacalcio.it News, voti del Corriere e della Gazzetta, e tanto altro.

    www.parrocchie.eu Parrocchie e siti cattolici italiani

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da ertulio
    Grazie degli aiuti, sono stati molto utili, ho risolto i problemi di simboli Thks
    Scusami se sono pedante: è che, invitare ad usare i parametri, lo hanno insegnato a me, qui tempo fa, insieme a tante utili cose. E siccome mai consiglio fu così utile, così lo passo a te.
    L'uso di sql come lo fai tu è sostanzialmente sbagliato:
    1) problemi di codice malevolo iniettato
    2) problemi coi caratteri "strani"
    3) sono sicuro che prima o poi troverai problemi con le date.


    Ciao, alla prossima
    Pietro

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 © 2025 vBulletin Solutions, Inc. All rights reserved.