36 messaggi dal 05 settembre 2008
Salve a tutti, avrei bisogno del Vostro prezioso aiuto:
Sfruttando una tabella (T_INVENTARIO) già esistente in sql server 2005, ho la necessità di scrivere nel campo UTENTELOGGATO della medesima tabella, il nominativo dell'utente loggato:
Ecco di seguito un esempio della tabella T_INVENTARIO: IdInventario, Autore, Titolo, UtenteLoggato, ecc.
L'utente, effettua delle modifiche mediante l'utilizzo di un FormView agganciato tramite un SqlDataSource che punta alla medesima tabella.
Premetto che ho attivato i Profili, i Ruoli e faccio autenticare l'utente mediante il controllo Login.
A me andrebbe bene anche inserire il profilo creato ad hoc "Cognome", all'interno del campo UtenteLoggato, richiamandolo con Profile.Cognome, ma non riesco a capire come posso scrivere dentro quel campo.
Ho notato che il FormView costruisce in maniera del tutto automatica sia l'INSERT che l'UPDATE, ma io non riesco a modificarlo come si deve.
Forse c'è qualche altro metodo? Sono fuori strada?
Spero di essere stato chiaro, anche perché sono alle prime armi e quello che sono riuscito a fare fino ad ora è solo grazie allo scambio di informazioni del vostro stupendo forum e un po' di buona volontà.
Grazie a chi potrà aiutarmi.
Marco
che sorgente dati utilizzi?

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
36 messaggi dal 05 settembre 2008
La base dati è Sql Server 2005:
questa è la mia stringa di connessione del file web.Config:
<add name="BibliotecaDBConnectionString" connectionString="Data Source=SomeServer;Initial Catalog=BibliotecaDB;Persist Security Info=True;User ID=sa;Password=test" providerName="System.Data.SqlClient"/>

Mediante il wizard dell' sqldatasource seleziono la tabella T_Inventario ed i campi di interesse e con il tasto avanzate chiedo di generare automaticamente INSERT, UPDATE e DELETE.

Spero di aver compreso la tua domanda
potresti creare un semplice parametro custom:

  public class UserNameParameter : Parameter
  {
    protected override object Evaluate(HttpContext context, System.Web.UI.Control control)
    {
      return context.User.Identity.Name;
    }
  }



dopo lo registri nella pagina e lo usi come un normale parametro

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
36 messaggi dal 05 settembre 2008
Potresti gentilmente rimandarmi ad un link dove posso trarre qualche esempio/spunto di quanto mi hai postato prima?
Sono proprio alle prime armi ed aimè non ho idea di cosa significa "...dopo lo registri nella pagina e lo usi come un normale parametro..."
Grazie per l'aiuto che potrai darmi.
prova a seguire questo:

http://blog.einbu.no/2010/02/custom-asp-net-datasource-parameters/

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
36 messaggi dal 05 settembre 2008
Seguendo il tuo consiglio mi sono "spulciato" tutto il link da te indicato ma senza successo... il problema non l'ho risolto.
Questa è l'autocostruzione (ridotta) del sqlDataSource che mi ha definito i comandi di SELECT, UPDATE e DELETE:

<asp:SqlDataSource ID="sqlDS_Inventario" runat="server" ConnectionString="<%$ ConnectionStrings:BibliotecaDBConnectionString %>"
DeleteCommand="DELETE FROM [Inventario] WHERE [IdInventarioNew] = @original_IdInventarioNew"
InsertCommand= "INSERT INTO [Inventario] ([Autore], [UtenteLoggato]) VALUES (@Autore, @UtenteLoggato )"
OldValuesParameterFormatString="original_{0}"
SelectCommand="SELECT [IdInventarioNew], [Autore], [UtenteLoggato] FROM [Inventario]"
UpdateCommand="UPDATE [Inventario] SET [Autore] = @Autore, [UtenteLoggato ] = @UtenteLoggato WHERE [IdInventarioNew] = @original_IdInventarioNew">
<DeleteParameters>
<asp:Parameter Name="original_IdInventarioNew" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="Autore" Type="String" />
<asp:Parameter Name="UtenteLoggato" Type="String" />
<asp:Parameter Name="original_IdInventarioNew" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="Autore" Type="String" />
<asp:Parameter Name="UtenteLoggato" Type="String" />
</InsertParameters>
</asp:SqlDataSource>
 = come faccio a passargli il valore contenuto nel mio Profile.Cognome oppure User.Identity.Name?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
In primo piano

I più letti di oggi

Media
In evidenza
MISC