0

この投稿に基づいて、アクセス データベースから動的なメタ タグを生成しようとしています。

protected void Page_Load(object sender, EventArgs e)
{

    OleDbParameter spar = new OleDbParameter("@Title", Request["Title"]);
    string query = "SELECT * FROM storedata WHERE Title = @Title";
    OleDbConnection myconnection = new OleDbConnection(ConfigurationManager.ConnectionStrings["accessConnectionString5"].ConnectionString);
    OleDbCommand SqlCmd = null;
    SqlCmd = new OleDbCommand(query, myconnection);

    SqlCmd.Parameters.Add(spar);

    SqlCmd.Connection.Open();
    SqlCmd.ExecuteNonQuery();


    OleDbDataAdapter ad = new OleDbDataAdapter(SqlCmd);
    DataTable dt = new DataTable();
    ad.Fill(dt);


    title.InnerHtml = dt.Rows[0]["Title"].ToString();
    keywords.Attributes.Add("content", dt.Rows[0]["Title"].ToString());


   // Closing the SQL connection
      SqlCmd.Connection.Close();

}

しかし、「System.Data.OleDb.OleDbException: Parameter @Title has no default value」というエラーが表示されます。

4

1 に答える 1

0

あなたは言いWHERE Title = @Titleますが、このパラメーターに値を割り当てた場所がわかりません。

SqlCmd = new OleDbCommand(query, myconnection); 
SqlCmd.Parameters.AddWithValue("@Title","a title");
于 2012-10-24T09:25:09.797 に答える