私は私の割り当てのためのSQLとC#で働いています。この課題のために、私は映画データベースを運営しています。私は映画をチェックアウトする必要があるこの部分に固執しています。私はスカラー値を宣言する必要がありますが、それを行う方法がわかりません。 マイコード:スカラー値を宣言する必要がありますか?
<asp:Panel ID="panel5" runat="server" Visible="false">
<asp:GridView id="one_data" AutoGenerateColumns="false" runat="server" DataKeyNames="MovieID">
<Columns>
<asp:BoundField DataField="MovieTitle"
HeaderText="Movie"/>
<asp:BoundField DataField="DateChecked"
HeaderText="Date Checked"/>
<asp:BoundField DataField="CheckedOut"
HeaderText="Checked Out"/>
</Columns>
</asp:GridView>
<asp:Button runat="server" Text="Choose another Movie" OnClick="GoBack" />
<asp:Button runat="server" Text="Check Out" OnClick="CheckOut" />
</asp:Panel>
パネル5は、ユーザーが選択したことを選択したムービーを取得し、彼らはチェックアウトボタンを押したときに、フィールドのDateChecked」と「チェックアウトしたが」日付と「Yで満たされることになっています'はい。 CSコード:それは重要ではないですので、
public void CheckOut(object sender, EventArgs e)
{
get_connection();
try
{
connection.Open();
command = new SqlCommand("UPDATE Content SET [email protected], [email protected] WHERE [email protected]", connection);
command.Parameters.AddWithValue("@DateChecked", DateTime.Now);
command.Parameters.AddWithValue("@CheckedOut", 'Y');
reader = command.ExecuteReader();
one_data.DataSource = reader;
one_data.DataBind();
reader.Close();
}
私はキャッチ部分を残しました。私はチェックアウトムービーボタンを押すと、私はエラーを取得しておくと、私はWHERE句を削除した場合、それはすべてのムービーではなく、私が選んだ1で更新されていることを除いて動作します。これに対する修正は何でしょうか?
あなたはExecuteNonQuery'がより理にかなって '' @のMovieID'値 – Diado
のためのSQLパラメータを追加@Igorていません。 'ExecuteScalar'は本当にあなたが1つの行と1つの列を取得することを期待するクエリのためのものです。 – juharr