0

webmethod(services) と web サイトを使用して、ローカル ms access データベースにいくつかのフィールドを挿入しようとしています。調べてみましたが、どこが間違っているのかわかりません。私がそれを正しく行っているかどうか、誰にでも教えてもらえますか。以下のコードは、データベースに新しいデータを追加することも、要求されたページに戻ることもありません。

サービス Web メソッド:

[WebMethod]
public void AddNewPosts(string postUserName, string postTitle, DateTime postMessagepostDateTime, int subTopicId, string postMessage)
{
    //Connection string for the datbase
    string database = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|/Forum.accdb;Persist Security Info=True";
    OleDbConnection myConn = new OleDbConnection(database);

    //Execute the query
    string queryStr = "Insert into Posts (TopicId, PostTitle, PostUserName, PostDateTime) VALUES (" + subTopicId + ",'" + postTitle + "','" + postUserName + "'," + postMessagepostDateTime + ")";

    // Create a command object 
    OleDbCommand myCommand = new OleDbCommand(queryStr, myConn);
    // Open the connection 
    myCommand.Connection.Open();
    myCommand.ExecuteNonQuery();
    myCommand.Connection.Close();
}

私のウェブサイトから上記のメソッドを呼び出す:

 protected void btnSubmit_Click(object sender, EventArgs e)
{
    //string postUserName = Page.User.Identity.Name;
    string postUserName = "tom123";
    string postTitle = txtTitle.Text;
    string postMessage = txtMessage.Text;
    DateTime postDateTime = DateTime.Now;
    int subTopicId = int.Parse(Request.QueryString["id"]);

    Service fs = new Service();
    fs.AddNewPosts(postUserName, postTitle, postDateTime, subTopicId, postMessage);

    //Redirect back to the SubTopic page
    Response.Redirect("SubTopic.aspx?id=" + subTopicId.ToString());


}
4

1 に答える 1

0

日時文字列を引用符で囲んでみてください" + postMessagepostDateTime + "')";

于 2013-04-25T11:22:12.523 に答える