0

私のウェブサイトのメイン ページで、データベース内の 1 つのテーブルから要素を投稿します。要素の 1 つをクリックすると、そのレコードの ID に基づいたページに移動します。たとえば、私の default.aspx ページでは、データリスト コントロールを使用してテーブルのレコードを一覧表示しています。各レコードはハイパーリンクとして機能し、Places.aspx?ID=(レコード番号) に移動します。ここで、これらの各ページに、そのページに固有のコメントを挿入できる必要があります。コメントボックスを設置し、うまく機能しています。そのページに固有のコメントを引き出すことさえできます。私の問題は、ページにその特定のページのコメントを挿入しようとしています。place.aspx?ID=(record number) ページの作成に使用された default.aspx ページから渡されたレコード番号を使用できるようにする必要があると思います。ここに、places.aspx のコード ビハインドがあります。

protected void submitButton_Click(object sender, EventArgs e)
{
    string constr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\TravelJoansDB.accdb;";
    string cmdstr = "INSERT INTO Comments(commentText,datePosted,personName,postID) VALUES (@txtComments, @datePosted, @personName, @postID)";
    OleDbConnection con = new OleDbConnection(constr);
    OleDbCommand com = new OleDbCommand(cmdstr, con);
    TextBox tComments = (TextBox)FormView1.FindControl("txtComments");
    HiddenField tDate = (HiddenField)FormView1.FindControl("hidTimeDate");
    TextBox tName = (TextBox)FormView1.FindControl("txtName");

    con.Open();
    com.Parameters.AddWithValue("@txtComments", tComments.Text);
    com.Parameters.AddWithValue("@datePosted", DateTime.Now.ToString());
    com.Parameters.AddWithValue("@personName", tName.Text);
    com.Parameters.AddWithValue("@postID",
    com.ExecuteNonQuery();
    con.Close();
}

コードが完成していないことは承知していますが、そこは助けていただきたいところです。(はい、私は米国南部の出身です。変数の型を宣言する必要があるか、整数型か何型かさえわかりません。

ASP は次のとおりです。

<asp:AccessDataSource ID="AccessDataSource2" runat="server" 
        DataFile="~/App_Data/TravelJoansDB.accdb" 
        SelectCommand="SELECT * FROM [Comments] WHERE postID=@ID"
        InsertCommand="INSERT INTO [Comments] (commentText, datePosted, personName, postID) VALUES (?, ?, ?, ?)" >
        <SelectParameters>
            <asp:QueryStringParameter Name="ID" QueryStringField="ID" />
        </SelectParameters>
        <InsertParameters>
            <asp:Parameter Name="ID" Type="Int32" />
            <asp:Parameter Name="commentText" Type="String" />
            <asp:Parameter Name="datePosted" Type="DateTime" />
            <asp:Parameter Name="personName" Type="String" />
        </InsertParameters>
    </asp:AccessDataSource>
4

1 に答える 1