PDA

View Full Version : باز هم مشکل GridView



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>


مرسی

shahab_ksh
چهارشنبه 11 مهر 1386, 02:04 صبح
اگه بدون ارور کار میکنه پس همه چی درسته اما داده هایی که به عنوان پارامتر به DeleteCommand ممکنه درست نباشه اون قسمت ها رو یبار چک کنید

Hossein Bazyan
چهارشنبه 11 مهر 1386, 10:46 صبح
سلام
مشکل حل شد اما نمیدانم چه جوری ! :لبخند:
یه مقدار دستکاری DeleteCommand و UpdateCommand کردم درست شد اما راستش را بخواید هنوز نمیدانم چطور شد ؟