この 24 時間ずっと取り組んできた問題があるので、気が狂ってしまうのを避けるために、誰かに助けを求めようと思いました。
私は Visual Web Developer を使用しています。これには、AccessDataSource から情報を選択する asp Gridview 要素があります。(追加するかもしれませんが、完全に正常に動作します。)
Gridview の情報を更新しようとすると、エラーが発生します。更新 SQL は Access では問題なく動作しますが、VWD ではエラー メッセージは表示されず、新しいデータをデータベースに保存できません。update コマンドの 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>