Non salva sul database

giovedì 06 settembre 2012 - 11.54
Tag Elenco Tags  C#  |  .NET 3.5  |  Windows 7  |  Visual Studio 2010  |  Access (.mdb)

paolo973 Profilo | Senior Member

Data una GridView1 ed un AccessDataSource1, niente di più semplice,
la modifica dei valori sul database funziona correttamente.

Essendo molti i record da scorrere, prima di individuare quello da modificare, ho creato un filtro con una DropDownList ed un button, sempre nella stessa pagina.aspx.

per filtrare uso un DropDownList ed un button. il filtraggio dei record funziona.

Se filtro i record e vado a modificare il campo1 ad esempio, non riporta la modifica nel database.

cosa sto sbagliando?





PAGINA.ASPX

<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="AccessDataSource2" DataTextField="campo1" DataValueField="campo0" >
</asp:DropDownList>

<asp:AccessDataSource ID="AccessDataSource2" runat="server"
DataFile="mdb-database/mydb.mdb"
SelectCommand="SELECT * FROM [TBL1] WHERE [campo3]='1'">
</asp:AccessDataSource>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />

<asp:CheckBox ID="CheckBoxFilter" runat="server" Checked="false" Visible="true" />


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
BackColor="White" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" Width="100%"
CellPadding="4" DataKeyNames="ID1" DataSourceID="AccessDataSource1"
AllowPaging="True" AllowSorting="True"
EditRowStyle-BackColor="#ffff99" EditRowStyle-ForeColor="Green" EditRowStyle-Font-Bold="true">
<Columns>
<asp:CommandField ShowEditButton="True" EditText="Modifica" ShowCancelButton="false" UpdateText="SALVA" />
<asp:BoundField DataField="ID1" HeaderText="ID1" InsertVisible="False" SortExpression="ID1" Visible="false" />

<asp:TemplateField HeaderText="campo1" SortExpression="campo1" ShowHeader="true">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("campo1") %>' Width="100%"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("campo1") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="campo2" SortExpression="campo2" ShowHeader="true">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("campo2") %>' Width="100%"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("campo2") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>

<asp:BoundField DataField="campo3" HeaderText="campo3" InsertVisible="False" SortExpression="campo3" Visible="false" />
</Columns>
</asp:GridView>

<asp:AccessDataSource ID="AccessDataSource1" runat="server"
ConflictDetection="CompareAllValues"
DataFile="~/mdb-database/mydb.mdb"
OldValuesParameterFormatString="original_{0}"
SelectCommand="SELECT * FROM [TBL1] ORDER BY [ID1]"
UpdateCommand="UPDATE [TBL1] SET [campo1] = ?, [campo2] = ? WHERE [campo0] = ?">
<UpdateParameters>
<asp:Parameter Name="campo0" Type="Int32" />
<asp:Parameter Name="campo1" Type="String" />
<asp:Parameter Name="campo2" Type="String" />
</UpdateParameters>
</asp:AccessDataSource>


PAGINA.CS


protected void Page_Load(object sender, EventArgs e)
{
if (this.CheckBoxFilter.Checked)
{
Int32 indiceSelezionato = Convert.ToInt32(this.DropDownListFam.SelectedValue);
this.AccessDataSource1.SelectCommand = "SELECT * FROM [TBL1] WHERE [campo0]= '" + indiceSelezionato + "'";
this.GridView1.DataBind();
}

}
protected void Button1_Click(object sender, EventArgs e)
{
Int32 indiceSelezionato = Convert.ToInt32(this.DropDownList1.SelectedValue);
this.AccessDataSourceCat.SelectCommand = "SELECT * FROM [TBL1] WHERE [campo0]= '" + indiceSelezionato + "'";
this.GridView1.DataBind();
this.CheckBoxFilter.Checked = true;
}
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5