Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    226

    richiamare testi da un database per inserirli in un FormView

    Ciao a tutti
    faccio una premessa per spiegare velocemente il progetto, in modo da agevolare chi mi volesse aiutare (ne ho un assoluto bisogno perchè non ne vengo più fuori)

    Sto creando un sito web per l'azienda dove lavoro.
    L'ambiente di sviluppo è visual studio 2005.

    Lo sviluppo della applicazione è esenzialmente questo:
    - ho creato una tabella in un database sql, chiamata 'dizionario' (campi : codicePagina, CodiceLingua, CampoPagina, CodicePrompt, prompt, Descrizione, immagini (con link di collegamento es. images/logo.gif ) , Righa)
    La motivazione è che a seconda della lingua voglio chiamare testi diversi e poi per rendere dinamico il cambio dei contenuti e l'aggiornamento.....cioè senza aprire ogni volta di nuovo il progetto e cambiarli manualmente. :-)

    - Ho fatto in modo che ogni pagina avesse un codicePagina (es. Index codicePagina= 001,.....), la lingua ha il suo codice, e inoltre ho inserito un codice per inserire il testo all'interno della pagina, cioè ho codificato le varie posizioni di testo ed immagini.



    Ho creato sulla pagina aspx il campo FormView relativo al primo campo da inserire e alla prima immagine (la pagina è composta, in questo caso da immagine in una cella della tabella, e nella cella subito dopo il relativo testo)

    codice:
    <asp:FormView ID="FormView1" runat="server" > 
    <EditItemTemplate> 
    Descrizione: 
    <asp:TextBox ID="DescrizioneTextBox" runat="server" Text='<%# Bind("Descrizione") %>'> 
    </asp:TextBox>
     
    <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" 
    Text="Update"> 
    </asp:LinkButton> 
    <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" 
    Text="Cancel"> 
    </asp:LinkButton> 
    </EditItemTemplate> 
    <InsertItemTemplate> 
    Descrizione: 
    <asp:TextBox ID="DescrizioneTextBox" runat="server" Text='<%# Bind("Descrizione") %>'> 
    </asp:TextBox>
     
    <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" 
    Text="Insert"> 
    </asp:LinkButton> 
    <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" 
    Text="Cancel"> 
    </asp:LinkButton> 
    </InsertItemTemplate> 
    <ItemTemplate> 
    Descrizione: 
    <asp:Label ID="DescrizioneLabel" runat="server" Text='<%# Bind("Descrizione") %>'> 
    </asp:Label>
     
    </ItemTemplate> 
    </asp:FormView>


    - questo è stato creato con il Tool di visual studio 2005 nella parte grafica della pagina index.aspx


    Nella parte di codice VB ho scritto questo:

    codice:
    Protected Sub FormView1_PageIndexChanging(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.FormViewPageEventArgs) 
    Dim da As New OleDb.OleDbDataAdapter 
    Dim ds As DataSet = New DataSet 
    'Ricerca testo nel databse attraverso la query 
    Try 
    Dim testCMD As OleDb.OleDbCommand = New OleDb.OleDbCommand("RicercaTesti", objDb) 
    testCMD.CommandType = CommandType.StoredProcedure 
    
    Dim RetValue As OleDb.OleDbParameter = testCMD.Parameters.Add("001", OleDb.OleDbType.Numeric) 
    RetValue.Direction = ParameterDirection.ReturnValue 
    
    Dim param1 As OleDb.OleDbParameter = testCMD.Parameters.Add("param1", OleDb.OleDbType.VarChar, 80) 
    param1.Direction = ParameterDirection.Input 
    param1.Value = dato 
    
    da.SelectCommand = testCMD 
    
    da.Fill(ds, "Articoli") 
    Catch ex As Exception 
    
    End Try 
    
    End Sub

    - Praticamente la storeprocedure mi riporta a seconda della pagina e della lingua (due parametri passati) i testi relativi a quella pagina....... cioè tutti i testi senza distinguere la posizione in cui vanno indicati.

    .............a questo punto vi chiedo aiuto, perchè non so più come procedere.

    - Non sò come fare in modo che ogni campo FormView inserito nelle pagine aspx mi richiami un parametro relativo al testo o ad immagine in questa tabella che ho creato datta store procedure in vb.

    - Inoltre non sò in VB come fare in modo che i dati vengano visualizati, adesso praticamente sono fermi qui ' da.Fill(ds, "Articoli")'........adesso dove li metto per poi richiamarli in modo corretto nelle pagine.


    Aiutooooooooooo
    Grazie a tutti quelli che mi risponderanno
    Elena

  2. #2
    Dovresti riportare anche il testo della stored procedure...
    e il testo che deve andare in una singola cella è in un singolo campo della tabella del db?
    Non riesco a capire...
    Nulla è impossibile

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    226
    La store procedure è molto semplice

    chiede in entrata due parametri 'codice pagina' e 'codicelingua'

    poi
    - crea una tabella virtuale
    -ricerca campi che corrispondono a quei due parametri 'codice pagina' e 'codicelingua'


    restituisce una tabella con i dati trovati


    Quindi in uscita mi dà, per esempio con codice 001 (index) tutti i testi ed immagini che andranno poi inseriti nella pagina index.


    Un esempio di alcune righe della tabella:


    codice:
    codicePagina CodiceLingua  CampoPagina CodicePrompt   prompt  Descrizione  immagini  riga
    001	              001	           005            001	Azienda....  Operatori	     1
    001              	001	            006           002      Centro ...   Operatori                2
    001                  	001	              007          003	Tag:         Operatori	    3
    questo è un esempio di alcune righe riportate nella tabella dove:
    codice pagina= index 001, chiSiamo 002 ........ecc
    codice lingua= 001 italiano, 002 inglese, 003 russo ecc.......
    codice campo= 001 primo riquadro tabella, 002 secondo riquadro tabella........ecc
    prompt= descrizione 'servizi di consulenza, analisi, sviluppo............. ' ecc
    immagini= se presente collegamento ad immagine




    Poi al campo 005 della pagina aspx che io ho inserito così....ma non sono sicura sia corretto.

    codice:
    <asp:FormView ID="testo1" runat="server" >
                            <EditItemTemplate>
                                Descrizione:
                                <asp:TextBox ID="DescrizioneTextBox" runat="server" Text='<%# Bind("Descrizione") %>'>
                                </asp:TextBox>
    
                               
                            </EditItemTemplate>
                           
                            <ItemTemplate>
                                Descrizione:
                                <asp:Label ID="DescrizioneLabel" runat="server" Text='<%# Bind("Descrizione") %>'>
                                </asp:Label>
    
                            </ItemTemplate>
                        </asp:FormView>
    in questo campo TexBox io vorrei riportare il 'CampoPagina' 005 della tabella quindi andare a visualizzare il relativo testo inserito nella colonna Prompt 'Azienda....'



    - Non so come dire al campo di passare il valore '005' relativo al testo
    - non so come richiamare in visual basic quel testo.....cioè come usarlo adesso, io l'ho messo qui ' da.Fill(ds, "Articoli")' e adesso.........

    spero di essere stata sufficentemente chiara, altrimenti chiedete pure

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    226
    allora grazie ad un utente che mi ha aiutato sono riuscita ad andare avanti qualcosina...........



    Nella parte VB ho usato questo codice:

    codice:
    Protected Sub Repeater1_ItemCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.RepeaterCommandEventArgs) Handles Repeater1.ItemCommand
    
    Dim da As New OleDb.OleDbDataAdapter
    
    Dim ds As DataSet = New DataSet
    
    'Ricerca testo nel databse attraverso la query
    
    Try
    
    Dim testCMD As OleDb.OleDbCommand = New OleDb.OleDbCommand("RicercaTesti", objDb)
    
    testCMD.CommandType = CommandType.StoredProcedure
    
    'Dim RetValue As OleDb.OleDbParameter = testCMD.Parameters.Add("001", OleDb.OleDbType.Numeric)
    
    'RetValue.Direction = ParameterDirection.ReturnValue
    
    Dim param1 As OleDb.OleDbParameter = testCMD.Parameters.Add("001", OleDb.OleDbType.Char, 3)
    
    param1.Direction = ParameterDirection.Input
    
    'param1.Value = dato
    
    Dim param2 As OleDb.OleDbParameter = testCMD.Parameters.Add("001", OleDb.OleDbType.Char, 3)
    
    param1.Direction = ParameterDirection.Input
    
    'param1.Value = dato
    
    da.SelectCommand = testCMD
    
    da.Fill(ds, "Testi")
    
    Repeater1.DataSource = ds
    
    Repeater1.DataBind()
    
    
    
    
    
    
    
    Catch ex As Exception
    
    End Try
    
    End Sub


    Praticamento uso una store procedure che mi richiama tutti i campi di pagina.



    Nella parte aspx ho usato un campo Repeater, perche mi permette di formatare in modo abbastanza libero le tabelle che inserisco.



    codice:
    <asp:Panel ID="Panel1" runat="server" Height="50px" Width="292px">
    
    
    
    <asp:Repeater ID="Repeater1" runat="server" DataSourceID="sitoidsistemi">
    
    
    <itemtemplate> <%#DataBinder.Equals(Container.dataitem, "prompt")
    
    %>
    
    
    </itemtemplate>
    
    
    
    </asp:Repeater>




    Adesso ho ancora questo grosso problema per cui necessito ancora del vostro aiuto.



    Adesso ho i dati di tutti i testi (identificati come codicecampo) della pagina di riferimento.

    Ogni codicecampo ha un testo di riferimento





    - Devo trovare il modo di identificare i campo nella pagina aspx con una codifica che grosso modo sarà questa

    001

    002

    003

    004

    .....







    - Devo fare in modo da codice VB che ad agni codice identificativo venga associato il relativo campo di tabella.



    quindi al valore campo 001...........nel codice VB devo identificare nella tabella a quale riga corrisponde per visualizzare solo quello.





    Non so proprio come fare

    Confido in voi

    aiuto

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480

    Moderazione

    Continui a postare nel forum errato. Sposto la discussione nell'area dedicata ad ASP.NET.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.