Hossein Bazyan
سه شنبه 10 مهر 1386, 14:55 عصر
سلام
دوستان در یک صفحه 2 از عدد GridViewبا دو جدول مختلف استفاده کرده ام و هر دو را تقریبا برابر کد نویسی نموده ام اما در یکی Update و Delete خوب کار میکند اما در دومی Delete را که میزنم هیچ عملی انجام نداده و پیغام خطا هم نمیدهد اما در Edit هنگام Update فیلدی را تغییر داده ام را حذف و بقیه را دستکاری نمیکند . هیچ پیغام خطا هم نمیدهد.
کدی که درست کار میکند اینه :
<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"BackColor="White"
BorderColor="White"BorderStyle="Ridge"BorderWidth="2px"CellPadding="3"CellSpacing="1"
DataKeyNames="ProvincieID"DataSourceID="AccessDataSource1"GridLines="None">
<Columns>
<asp:CommandFieldShowDeleteButton="True"ShowEditButton="True"/>
<asp:BoundFieldDataField="ProvincieID"HeaderText="ProvincieID"ReadOnly="True"SortExpression="ProvincieID"/>
<asp:BoundFieldDataField="Provincie"HeaderText="Provincie"SortExpression="Provincie"/>
</Columns>
</asp:GridView>
<asp:AccessDataSourceID="AccessDataSource1"runat="server"ConflictDetection="CompareAllValues"
DataFile="~/Biogas.mdb"SelectCommand="SELECT * FROM [Provincie]"
DeleteCommand="DELETE FROM [Provincie] WHERE [ProvincieID] = ? AND [Provincie] = ?"
InsertCommand="INSERT INTO [Provincie] ([ProvincieID], [Provincie]) VALUES (?, ?)"
UpdateCommand="UPDATE [Provincie] SET [Provincie] = ? WHERE [ProvincieID] = ? AND [Provincie] = ?"
OldValuesParameterFormatString="original_{0}">
<DeleteParameters>
<asp:ParameterName="original_ProvincieID"Type="Byte"/>
<asp:ParameterName="original_Provincie"Type="String"/>
</DeleteParameters>
<UpdateParameters>
<asp:ParameterName="Provincie"Type="String"/>
<asp:ParameterName="original_ProvincieID"Type="Byte"/>
<asp:ParameterName="original_Provincie"Type="String"/>
</UpdateParameters>
<InsertParameters>
<asp:ParameterName="ProvincieID"Type="Byte"/>
<asp:ParameterName="Provincie"Type="String"/>
</InsertParameters>
</asp:AccessDataSource>
و کدی که نه پیغام خطا میده و نه کار میکنه هم اینه :
<asp:GridViewID="GridView2"runat="server"AutoGenerateColumns="False"BackColor="White"
BorderColor="White"BorderStyle="Ridge"BorderWidth="2px"CellPadding="3"CellSpacing="1"
DataKeyNames="KlantNummer"DataSourceID="getData"GridLines="None">
<Columns>
<asp:CommandFieldShowDeleteButton="True"ShowEditButton="True"/>
<asp:BoundFieldDataField="KlantNummer"HeaderText="KlantNummer"ReadOnly="True"SortExpression="KlantNummer"/>
<asp:BoundFieldDataField="KlantNaam"HeaderText="KlantNaam"SortExpression="KlantNaam"/>
<asp:BoundFieldDataField="KlantPlaats"HeaderText="KlantPlaats"SortExpression="KlantPlaats"/>
<asp:BoundFieldDataField="KlantPostCode"HeaderText="KlantPostCode"SortExpression="KlantPostCode"/>
<asp:BoundFieldDataField="ProvincieID"HeaderText="ProvincieID"SortExpression="ProvincieID"/>
<asp:BoundFieldDataField="LandID"HeaderText="LandID"SortExpression="LandID"/>
<asp:BoundFieldDataField="BetalingsTermijn"HeaderText="BetalingsTermijn"SortExpression="BetalingsTermijn"/>
</Columns>
</asp:GridView>
<asp:AccessDataSourceID="getData"runat="server"ConflictDetection="CompareAllValues"DataFile="~/Biogas.mdb"SelectCommand="SELECT [KlantNaam], [KlantPlaats], [KlantPostCode], [ProvincieID], [LandID], [BetalingsTermijn], [KlantNummer] FROM [Klant]"
DeleteCommand="DELETE FROM [KLANT] WHERE [KlantNaam] = ? AND [KlantPlaats] = ? AND [KlantPostCode] = ? AND [ProvincieID] = ? AND [LandID] = ? AND [BetalingsTermijn] = ? AND [KlantNummer] = ?"
UpdateCommand="UPDATE [Klant] SET [KlantNaam] = ? AND [KlantPlaats] = ? AND [KlantPostCode] = ? AND [ProvincieID] = ? AND [LandID] = ? AND [BetalingsTermijn] = ? WHERE [KlantNummer] =?"
OldValuesParameterFormatString="original_{0}">
<DeleteParameters>
<asp:ParameterName="original_KlantNummer"Type="String"/>
<asp:ParameterName="original_KlantNaam"Type="String"/>
<asp:ParameterName="original_Klant_Plaats"Type="String"/>
<asp:ParameterName="original_KlantPostCode"Type="String"/>
<asp:ParameterName="original_ProvincieID"Type="String"/>
<asp:ParameterName="original_LandID"Type="String"/>
<asp:ParameterName="original_BetalingsTermijn"Type="Int32"/>
</DeleteParameters>
<UpdateParameters>
<asp:ParameterName="KlantNaam"Type="String"/>
<asp:ParameterName="Klant_Plaats"Type="String"/>
<asp:ParameterName="KlantPostCode"Type="String"/>
<asp:ParameterName="ProvincieID"Type="String"/>
<asp:ParameterName="LandID"Type="String"/>
<asp:ParameterName="BetalingsTermijn"Type="Int32"/>
<asp:ParameterName="original_KlantNummer"Type="String"/>
<asp:ParameterName="original_KlantNaam"Type="String"/>
<asp:ParameterName="original_Klant_Plaats"Type="String"/>
<asp:ParameterName="original_KlantPostCode"Type="String"/>
<asp:ParameterName="original_ProvincieID"Type="String"/>
<asp:ParameterName="original_LandID"Type="String"/>
<asp:ParameterName="original_BetalingsTermijn"Type="Int32"/>
</UpdateParameters>
</asp:AccessDataSource>
مرسی
دوستان در یک صفحه 2 از عدد GridViewبا دو جدول مختلف استفاده کرده ام و هر دو را تقریبا برابر کد نویسی نموده ام اما در یکی Update و Delete خوب کار میکند اما در دومی Delete را که میزنم هیچ عملی انجام نداده و پیغام خطا هم نمیدهد اما در Edit هنگام Update فیلدی را تغییر داده ام را حذف و بقیه را دستکاری نمیکند . هیچ پیغام خطا هم نمیدهد.
کدی که درست کار میکند اینه :
<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"BackColor="White"
BorderColor="White"BorderStyle="Ridge"BorderWidth="2px"CellPadding="3"CellSpacing="1"
DataKeyNames="ProvincieID"DataSourceID="AccessDataSource1"GridLines="None">
<Columns>
<asp:CommandFieldShowDeleteButton="True"ShowEditButton="True"/>
<asp:BoundFieldDataField="ProvincieID"HeaderText="ProvincieID"ReadOnly="True"SortExpression="ProvincieID"/>
<asp:BoundFieldDataField="Provincie"HeaderText="Provincie"SortExpression="Provincie"/>
</Columns>
</asp:GridView>
<asp:AccessDataSourceID="AccessDataSource1"runat="server"ConflictDetection="CompareAllValues"
DataFile="~/Biogas.mdb"SelectCommand="SELECT * FROM [Provincie]"
DeleteCommand="DELETE FROM [Provincie] WHERE [ProvincieID] = ? AND [Provincie] = ?"
InsertCommand="INSERT INTO [Provincie] ([ProvincieID], [Provincie]) VALUES (?, ?)"
UpdateCommand="UPDATE [Provincie] SET [Provincie] = ? WHERE [ProvincieID] = ? AND [Provincie] = ?"
OldValuesParameterFormatString="original_{0}">
<DeleteParameters>
<asp:ParameterName="original_ProvincieID"Type="Byte"/>
<asp:ParameterName="original_Provincie"Type="String"/>
</DeleteParameters>
<UpdateParameters>
<asp:ParameterName="Provincie"Type="String"/>
<asp:ParameterName="original_ProvincieID"Type="Byte"/>
<asp:ParameterName="original_Provincie"Type="String"/>
</UpdateParameters>
<InsertParameters>
<asp:ParameterName="ProvincieID"Type="Byte"/>
<asp:ParameterName="Provincie"Type="String"/>
</InsertParameters>
</asp:AccessDataSource>
و کدی که نه پیغام خطا میده و نه کار میکنه هم اینه :
<asp:GridViewID="GridView2"runat="server"AutoGenerateColumns="False"BackColor="White"
BorderColor="White"BorderStyle="Ridge"BorderWidth="2px"CellPadding="3"CellSpacing="1"
DataKeyNames="KlantNummer"DataSourceID="getData"GridLines="None">
<Columns>
<asp:CommandFieldShowDeleteButton="True"ShowEditButton="True"/>
<asp:BoundFieldDataField="KlantNummer"HeaderText="KlantNummer"ReadOnly="True"SortExpression="KlantNummer"/>
<asp:BoundFieldDataField="KlantNaam"HeaderText="KlantNaam"SortExpression="KlantNaam"/>
<asp:BoundFieldDataField="KlantPlaats"HeaderText="KlantPlaats"SortExpression="KlantPlaats"/>
<asp:BoundFieldDataField="KlantPostCode"HeaderText="KlantPostCode"SortExpression="KlantPostCode"/>
<asp:BoundFieldDataField="ProvincieID"HeaderText="ProvincieID"SortExpression="ProvincieID"/>
<asp:BoundFieldDataField="LandID"HeaderText="LandID"SortExpression="LandID"/>
<asp:BoundFieldDataField="BetalingsTermijn"HeaderText="BetalingsTermijn"SortExpression="BetalingsTermijn"/>
</Columns>
</asp:GridView>
<asp:AccessDataSourceID="getData"runat="server"ConflictDetection="CompareAllValues"DataFile="~/Biogas.mdb"SelectCommand="SELECT [KlantNaam], [KlantPlaats], [KlantPostCode], [ProvincieID], [LandID], [BetalingsTermijn], [KlantNummer] FROM [Klant]"
DeleteCommand="DELETE FROM [KLANT] WHERE [KlantNaam] = ? AND [KlantPlaats] = ? AND [KlantPostCode] = ? AND [ProvincieID] = ? AND [LandID] = ? AND [BetalingsTermijn] = ? AND [KlantNummer] = ?"
UpdateCommand="UPDATE [Klant] SET [KlantNaam] = ? AND [KlantPlaats] = ? AND [KlantPostCode] = ? AND [ProvincieID] = ? AND [LandID] = ? AND [BetalingsTermijn] = ? WHERE [KlantNummer] =?"
OldValuesParameterFormatString="original_{0}">
<DeleteParameters>
<asp:ParameterName="original_KlantNummer"Type="String"/>
<asp:ParameterName="original_KlantNaam"Type="String"/>
<asp:ParameterName="original_Klant_Plaats"Type="String"/>
<asp:ParameterName="original_KlantPostCode"Type="String"/>
<asp:ParameterName="original_ProvincieID"Type="String"/>
<asp:ParameterName="original_LandID"Type="String"/>
<asp:ParameterName="original_BetalingsTermijn"Type="Int32"/>
</DeleteParameters>
<UpdateParameters>
<asp:ParameterName="KlantNaam"Type="String"/>
<asp:ParameterName="Klant_Plaats"Type="String"/>
<asp:ParameterName="KlantPostCode"Type="String"/>
<asp:ParameterName="ProvincieID"Type="String"/>
<asp:ParameterName="LandID"Type="String"/>
<asp:ParameterName="BetalingsTermijn"Type="Int32"/>
<asp:ParameterName="original_KlantNummer"Type="String"/>
<asp:ParameterName="original_KlantNaam"Type="String"/>
<asp:ParameterName="original_Klant_Plaats"Type="String"/>
<asp:ParameterName="original_KlantPostCode"Type="String"/>
<asp:ParameterName="original_ProvincieID"Type="String"/>
<asp:ParameterName="original_LandID"Type="String"/>
<asp:ParameterName="original_BetalingsTermijn"Type="Int32"/>
</UpdateParameters>
</asp:AccessDataSource>
مرسی