PDA

View Full Version : مشکل در آپدیت رکورد در دیتابیس



zibaaa
جمعه 24 تیر 1390, 20:23 عصر
سلام و خسته نباشید
من از یک GridView برای نمایش رکورد های جدول استفاده کردم و با SqlDataSource بایند میشه و Enable Editing و Enable Deleting هم تیک خورده.
مشکلم اینه که وقتی روی لینک اصلاح کلیک میشه اگه مقدار فعلی textbox ها پاک شه و بعد روی دکمه بروزرسانی کلیک بشه، مقدار NULL جایگزین مقدار قبلی میشه در صورتیکه باید فقط مقدار قبلی موجود در اون رکورد پاک شه.


<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1" DataKeyNames="id"
UseAccessibleHeader="False" Width="65%">
<Columns>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"
CommandName="Edit" Text="اصلاح" ></asp:LinkButton>
&nbsp;<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" OnClientClick="return confirm('آیا شما مطمئن هستید که این اطلاعات را نمی خواهید ');"
CommandName="Delete" Text=" حذف"></asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True"
CommandName="Update" Text="بروزرسانی" ValidationGroup="2"></asp:LinkButton>
&nbsp;<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False"
CommandName="Cancel" Text=" لغو"></asp:LinkButton>
</EditItemTemplate>

<ItemStyle Width="15%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="id" InsertVisible="False" SortExpression="id" Visible="false">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("id") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("id") %>'></asp:Label>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="نام" SortExpression="nam" >
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("nam") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtnam" CssClass="text" runat="server" Text='<%# Bind("nam")%>'></asp:TextBox>
</EditItemTemplate>

<ItemStyle Width="20%"></ItemStyle>
</asp:TemplateField>
<asp:TemplateField HeaderText="نام کاربری" SortExpression="us" >
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("us") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtus" CssClass="text" runat="server" Text='<%# Bind("us") %>'></asp:TextBox>
</EditItemTemplate>

<ItemStyle Width="15%"></ItemStyle>
</asp:TemplateField>
<asp:TemplateField HeaderText="کلمه عبور" SortExpression="ps" >
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='******'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtps" runat="server" CssClass="text" Text='<%# Bind("ps")%>'></asp:TextBox>
</EditItemTemplate>

<ItemStyle Width="15%"></ItemStyle>
</asp:TemplateField>
</Columns>
<HeaderStyle BackColor="#9CADBB" Font-Bold="True" ForeColor="White"
Height="35px" />
<AlternatingRowStyle BackColor="#F2F2F2" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:strcon %>"
SelectCommand="SELECT * FROM [tbMem]"
DeleteCommand="DELETE FROM dbo.tbMem WHERE (id = @id)"
UpdateCommand="UPDATE dbo.tbMem SET nam = @nam, us = @us, ps = @ps where id=@id"
InsertCommand="INSERT INTO dbo.tbMem(nam, us, ps) VALUES (@nam, @us, @ps)">

<UpdateParameters>
<asp:Parameter Name="nam" />
<asp:Parameter Name="us" />
<asp:Parameter Name="ps" />
</UpdateParameters>
</asp:SqlDataSource>