23 messaggi dal 07 agosto 2007
rieccomi!
2 domande: una è perchè non mi funzione questa query di aggiornamento
string sql = "UPDATE tabella1 SET Nome =" + Nome + " Telefono =" + Telefono + " WHERE (ID=" + ID + ")";
l'altra è come faccio a leggere i campi in seguito all'evento modifica visto che l'istruzione GridView1.SelectedRow.Cells[1].Text; in questo caso sembra che non funzioni.
ciao
492 messaggi dal 08 gennaio 2007
Un esempio di Update in TSQL:

UPDATE Contatti SET ProprietarioContatto = @ProprietarioContatto, CognomeContatto = @CognomeContatto, NomeContatto = @NomeContatto, TipoContatto = @TipoContatto, EmailContatto = @EmailContatto WHERE (IdContatto = @original_IdContatto)

La sintassi dei parametri è appunto @nomeparametro, per dichiarare un parametro via codice:

C#:
SQLParameter mioparametro=new SqlParameter("@nomeparametro",valoreparametro);

altrilinguaggi#:
...non ne conosco


Invece in VS2005 puoi specificare i parametri in fase di progettazione direttamente nella property PArameters del SqlDataSource o ObjectDataSource.

... invece per la seconda domanda... ehm, non l'ho capita, forse dovresti spiegare meglio la situazione.
Ciao
23 messaggi dal 07 agosto 2007
provo a spiegarmi meglio:
quando spingo il link button Modifica in un grid view la riga interessata dalla selezione viena visualizzata in maniera diversa. vado poi a modificare i vari campi; come faccio a intercettare i campi modificati per costruire la relativa query di UPDATE epr aggiornare effettivamenti il data base. se io digito:
miogridview.SelectedRow.Cell[x].Text;
non mi restituisce nulla.
sto impazzendo
492 messaggi dal 08 gennaio 2007
Ciao, quando utilizzi la funzionalità della GridViev di modificare i campi, non devi mettere mano alla update, piuttosto, il tuo controllo griglia ha associata una origine dati è lì che devi andare a mettere mano, se è il caso:
Prova in modalità di progettazione a scorrere le property del SqlDataSource, nella sezione Dati, alla voce UpdateQuery, clicca sul pulsantino e ti si apre una maschera con la tua query, i parametri e i valori associati.
Nel caso più semplice non devi fare proprio nulla, se invece hai delle where magari vorrai associare parametri in un altra maniera.

Nella pagina avrai un risultato simile, se noti ci sono 2 parametri associati ad altri 2 controlli, e mi servivano per scremare, mentre gli altri sono solamente dichiarati, questo perchè il valore lo prendono proprio dalla grid,

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConflictDetection="CompareAllValues"
ConnectionString="<%$ ConnectionStrings:DBsiteConnectionString %>" DeleteCommand="DELETE FROM [Contatti] WHERE [IdContatto] = @original_IdContatto"
InsertCommand="INSERT INTO [Contatti] ([ProprietarioContatto], [CognomeContatto], [NomeContatto], [TipoContatto], [EmailContatto]) VALUES (@ProprietarioContatto, @CognomeContatto, @NomeContatto, @TipoContatto, @EmailContatto)"
OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT * FROM [Contatti] WHERE ([IdContatto] = @IdContatto)"
UpdateCommand="UPDATE Contatti SET ProprietarioContatto = @ProprietarioContatto, CognomeContatto = @CognomeContatto, NomeContatto = @NomeContatto, TipoContatto = @TipoContatto, EmailContatto = @EmailContatto WHERE (IdContatto = @original_IdContatto)">
<DeleteParameters>
<asp:ControlParameter ControlID="Hid" Name="original_IdContatto" PropertyName="Value" />
</DeleteParameters>
<UpdateParameters>
<asp:ControlParameter ControlID="How" Name="ProprietarioContatto" PropertyName="Value" />
<asp:Parameter Name="CognomeContatto" />
<asp:Parameter Name="NomeContatto" />
<asp:Parameter Name="TipoContatto" />
<asp:Parameter Name="EmailContatto" />
<asp:ControlParameter ControlID="Hid" Name="original_IdContatto" PropertyName="Value" />
</UpdateParameters>
<SelectParameters>
<asp:ControlParameter ControlID="Hid" Name="IdContatto" PropertyName="Value" Type="Int32" />
</SelectParameters>
<InsertParameters>
<asp:Parameter Name="ProprietarioContatto" Type="String" />
<asp:Parameter Name="CognomeContatto" Type="String" />
<asp:Parameter Name="NomeContatto" Type="String" />
<asp:Parameter Name="TipoContatto" Type="String" />
<asp:Parameter Name="EmailContatto" Type="String" />
</InsertParameters>
</asp:SqlDataSource>

... spero di averti chiarito un pò, qualche tempo fa mi ha dato un bel pò di grattacapi sto controllo, ciao.

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.