2012-04-19 21 views
0

私は、私が私の問題を助けてくれる人に頼むと思ったので、私が狂ってしまうのを避けるために、過去24時間に取り組もうとしているという問題があります。Gridviewの更新がエラーメッセージなしで失敗します。 Visual Web DeveloperのAccessdatasource

私はVisual Web Developerを使用していますが、これで私のAccessDataSourceから情報を選択するasp Gridview要素があります。 (私は完全に正常に動作します)

私は、Gridviewの情報を更新しようとするとエラーが発生します。私の更新SQLはAccessで正常に動作しますが、VWDではエラーメッセージはスローされませんが、新しいデータはデータベースに保存されません。私は、更新コマンドのためのASPでパラメータを設定して、私も 'DataKeyNames'を設定している。

誰もがこれを手伝ってくれますか?私はこれに比較的新しいです、そして、私はどこに間違っているのか分かりません。私は広範囲にわたる検索をオンラインで行ってきましたが、まだそれを見ることはできませんでしたので、次のベストショットはここで質問することだと思いました。

事前に感謝します。 :)

私のASP.netコード:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
DataSourceID="AccessDataSource1" DataKeyNames="MemberID" 
style="z-index: 1; left: 0px; top: 147px; position: absolute; height: 133px;  
width:499px"> 
<Columns> 
<asp:CommandField ShowEditButton="True" /> 
<asp:BoundField DataField="RaceID" HeaderText="RaceID" SortExpression="RaceID" /> 
<asp:BoundField DataField="MemberID" HeaderText="MemberID" SortExpression="MemberID" /> 
<asp:BoundField DataField="MemberName" HeaderText="MemberName" 
SortExpression="MemberName" /> 
<asp:BoundField DataField="PersonalTime" HeaderText="PersonalTime" 
SortExpression="PersonalTime" /> 
<asp:BoundField DataField="FinishPosition" HeaderText="FinishPosition" 
SortExpression="FinishPosition" /> 
<asp:BoundField DataField="Points" HeaderText="Points" 
SortExpression="Points" /> 
</Columns> 
</asp:GridView> 

<asp:AccessDataSource ID="AccessDataSource1" runat="server"  
DataFile="~/App_Data/myDatabase.mdb" 

SelectCommand="SELECT tblResult.RaceID, tblResult.MemberID, tblMember.MemberName, 
tblResult.PersonalTime, tblResult.FinishPosition, tblPoint.Points FROM ((tblRaceType 
INNER JOIN (tblRace INNER JOIN (tblMember INNER JOIN tblResult ON tblMember.MemberID = 
tblResult.MemberID) ON tblRace.RaceID = tblResult.RaceID) ON tblRaceType.RaceTypeID = 
tblRace.RaceTypeID) INNER JOIN tblPoint ON tblResult.FinishPosition = tblPoint. 
[Position] AND tblRaceType.RaceTypeID = tblPoint.RaceTypeID) WHERE (tblResult.RaceID =  
?) AND (tblPoint.RaceTypeID = ?) ORDER BY tblResult.FinishPosition" 

UpdateCommand="UPDATE [tblResult] SET PersonalTime = ?, FinishPosition = ? WHERE 
MemberID = ? AND RaceID = ?"> 

<SelectParameters> 
<asp:SessionParameter DefaultValue="0" Name="?" SessionField="raceID" /> 
<asp:SessionParameter DefaultValue="0" Name="?" SessionField="raceTypeID" /> 
</SelectParameters> 

<UpdateParameters> 
<asp:Parameter Name="PersonalTime" Type="String"/> 
<asp:Parameter Name="FinishPosition" Type="Int64" /> 
<asp:Parameter Name="MemberID" Type="Int64" /> 
<asp:Parameter Name="RaceID" Type="Int64" /> 
</UpdateParameters> 
</asp:AccessDataSource> 
+0

asp.netを意味しますか? – Fionnuala

+0

はい私はしました!謝罪。 – LNB

答えて

0

"If Not Page.IsPostBack"で既存のVBコードをラップするだけでした。これは、ページを再読み込みし、更新コマンドを実行する前に、これが更新を妨害していると考えてください。

0

stackoverflowの上のこのリンクをクリックすると、似たような状況があります。私は環境についてはよく分からないが、それは、Visual Web Developerの問題ではないかもしれない...どちらにして、ここのリンクです:

Update of AccessDatasource does nothing but has no error

それは、その問題が解決されたように見えるが、そこではありませんでしたそこには役に立つかもしれないいくつかのヒントがあります。

-doddy

(あなたは良い解決策で終わる場合はそれを投稿でくださいので、私も同じ問題を抱えている!!感謝を!)同じ問題で他の誰のために

+0

問題は解決されました!コードにエラーはありませんでしたが、私のページの読み込みでは、If Not Page.IsPostbackがありませんでした。一旦これが入ってしまえば、それはうまくいった。 :) – LNB

+0

ページの読み込み時にビューの状態を有効にする必要がありましたか? – doddy

+0

私はそうではありませんでした。既存のコードをそのままラップするだけでした。 "もしNot Page.IsPostBack" これはアップデートを妨害していると考えていました。 – LNB

関連する問題