Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    Inserire valori via sql in maiuscolo

    salve come da oggetto ho la seguente query funzionante....

    INSERT INTO [RESIDENTI] ([NOMINATIVI], [NOMINATIVI2], [APPARTAMENTO], [PUBBLICITA], [URLPUBB]) VALUES ('rossi', 'verdi', '5m', 0, 'ww')...

    la stessa query è agganciata ad una detailview che mi inserisce i valori....ora ho l'esigenza che il campo appartamento VADA IN MAIUSCOLO..ho provato a settare attributi nella detailsviewe ma nn credo sia possibile...allora avevo pensato di usare direttamente l'sql per mettere in maiuscolo il campo che mi serve...utilizzando lo statement UPPER ()....ma nn funziona....forse sbalgio sintassi...ecco la query modificata che nn mi va...

    INSERT INTO [RESIDENTI] ([NOMINATIVI], [NOMINATIVI2], [APPARTAMENTO], [PUBBLICITA], [URLPUBB]) VALUES (UPPER('ciao'), 'eee', '5m', 0, 'ww')

    dove sbaglio??

    ..ovvimaente se c'e un metodo per settare le maiuscole anche da detailsview va bene =

    ringrazio e saluto

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    con i campi Varchar funziona...ho provato.
    che tipo di campi hai ?

    comunque, si possono visualizzare in maiuscolo, credo con una cosa del genere:

    codice:
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Pagina senza titolo</title>
        <style type="text/css">
            .stileUpper
            {
              text-transform:uppercase;
            }
        </style>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <asp:detailsview id="dv" runat="server">
        <Fields>
            <asp:BoundField DataField="NOME" ControlStyle-CssClass="stileUpper" />
            <asp:BoundField DataField="COGNOME" ControlStyle-CssClass="stileUpper" />
        </Fields>
        </asp:detailsview>
       </div>
        </form>
    </body>
    </html>

  3. #3
    L'esempio col codice funziona...in visualizzazione...peccato che se inserisco il valore in minuscolo....in minuscolo viene immesso nel db!!

    Il campo da "maiuscolare" è un semplice campo testo db access a 255 caratteri....

  4. #4
    si, il codice scritto da djciko funziona solo in visualizzazione sul browser, non sul server.

    ma come la fai la query? come li passi i parametri?

    metti un .ToUpper() quando passi il valore alla query.

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Ti ho fatto l'esempio per evidenziare che puoi dare uno stile (ho scritto "visualizzare"), e puoi farlo anche sulla colonna addetta alla Insert.

    Puoi fare cio', oppure usare Ucase() (non avevi detto che il DB è Access).
    http://webcheatsheet.com/sql/access_functions/ucase.php


    Qppure fare come ti si dice quassù. (Gluck, hai un msg privato)

  6. #6
    capito solo che essendo nuovo ancora ho difficolta ad "accoppiare" varibile-dato...facicma prima cosi...questa è la query di inserimento generata automaticamente dall'accessdatasource:
    InsertCommand="INSERT INTO [RESIDENTI] ([NOMINATIVI], [NOMINATIVI2], [APPARTAMENTO], [PUBBLICITA], [URLPUBB]) VALUES (?, ?, ?, ?, ?)"

    e questa è la parte finale della detailsview dalla quale immetto i valori dalla pagina web pronti per l'inserimento:

    .....
    <Fields>
    <asp:BoundField DataField="NOMINATIVI" HeaderText="NOMINATIVI"
    SortExpression="NOMINATIVI" />
    <asp:BoundField DataField="NOMINATIVI2" HeaderText="NOMINATIVI2"
    SortExpression="NOMINATIVI2" />
    <asp:BoundField DataField="APPARTAMENTO" HeaderText="APPARTAMENTO"
    SortExpression="APPARTAMENTO" />
    <asp:CheckBoxField DataField="PUBBLICITA" HeaderText="PUBBLICITA"
    SortExpression="PUBBLICITA" />
    <asp:BoundField DataField="URLPUBB" HeaderText="URLPUBB"
    SortExpression="URLPUBB" />
    <asp:CommandField ShowInsertButton="True" />
    </Fields>
    ....
    mettiamo che voglia avere in maiuscolo il campo APPARTAMENTO....come devo fare??
    solo un esempio ad hoc mi chiarisce come si fa...perdonatemi

    grazie a tutti

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    un esempio semplificato.
    Ho un campo memo di un database qualunque

    codice:
    <asp:DetailsView ID="DetailsView1" runat="server" >
    	<Fields>
    		<asp:TemplateField HeaderText="memo">
    			<ItemTemplate >
    				<%#l.NullToSpace(Eval("memo"))%>
    			</ItemTemplate>
    			<EditItemTemplate>
    				<asp:TextBox ID="memo" runat="server" Text='<%#Eval("memo")%>' TextMode="MultiLine"></asp:TextBox>
    			</EditItemTemplate>
    		</asp:TemplateField>
    	</Fields>
    </asp:DetailsView>
    Quando premo, per esempio, il pulsante UPDATE, si scatena l'evento DetailsView1_ItemUpdating

    Qui recupero il campo memo con:
    Dim memo As String = DirectCast(dw.FindControl("memo"), TextBox).Text.ToUpper

    Come vedi, basta mettere a maiuscolo il testo recuperato.
    L'istruzione update o insert, inserisce questo testo.
    Pietro

  8. #8
    grazie, ho fato le opportune modifiche...mi da errore su questa linea...

    <%#l.NullToSpace(Eval("memo"))%>

    e penso sia giusto in quanto "l" non e' dichiarato...puoi fornirmi ragguagli ???


  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da danielsan27
    grazie, ho fato le opportune modifiche...mi da errore su questa linea...

    <%#l.NullToSpace(Eval("memo"))%>

    e penso sia giusto in quanto "l" non e' dichiarato...puoi fornirmi ragguagli ???

    Hai ragione. E' una funzione che converte DBNull in spazio codificato.
    codice:
        '--------------------------------------------------------------
        'converte DBNull in spazio codificato
        '--------------------------------------------------------------
        Public Function NullToSpace(ByVal v As Object) As String
            If v Is Nothing OrElse TypeOf v Is DBNull OrElse v Is "" Then
                Return ""
            Else
                If v.ToString = "" Then
                    Return ""
                Else
                    Return System.Web.HttpContext.Current.Server.HtmlEncode(v.ToString)
                End If
            End If
    
        End Function
    può essere utile pure questa
    codice:
        'Converte DBNull nella stringa nulla ""
        '--------------------------------------------------------------
        Public Function NullToString(ByVal v As Object) As String
            If IsDBNull(v) Then
                Return ""
            Else
                Return CType(v, String)
            End If
    
        End Function
    sostituisce l.NullToSpace con NullToSpace. Dovrebbe andare
    Pietro

  10. #10
    ho usato la 2 funzione in quanto la prima pretendeva una variabile (la l) che da me nn esiste...e naturlamente l'ho inserita nella pagina di code behind....cmq sia...NON FUNZIONA...il database inserisce solo i campi ad eccezione di "APPARTAMENTO" (quello modificato secondo il tuo schema....ecco il codice:

    <asp:TemplateField HeaderText="APPARTAMENTO">
    <ItemTemplate >
    <%# NullToString(Eval("APPARTAMENTO"))%>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox ID="APPARTAMENTO" runat="server" Text='<%#Eval("APPARTAMENTO")%>' ></asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateField>


    Naturalmente nel code-behind, all'evento: DetailsView1_ItemInserting ho messo il tuo codice:
    Dim appartamento As String = DirectCast(DetailsView1.FindControl("appartamento" ), TextBox).Text.ToUpper

    per controllare ho messo un breakpoint in questa istruzione...e ho visto che fin qui...la conversione in upper del dato che inserisco AVVIENE.....come mai allora non iserisce nulla nel db???


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.