none
InsertParameters.Addでfileuploadの中身を追加したい RRS feed

  • 質問

  • DBでvarbinary(MAX)[列名:image]で定義した列にfileuploadコントロール[名前:FUpload]で指定した中身を入れたいと思います。

    ods.InsertParameters.Add("image", FUpload.FileBytes)

    では「Stringに変換できません」のエラーになります。

    どう修正するのがよいのでしょうか。

    odsはInsert文があるObjectDataSetです。

    2011年4月27日 1:18

回答

  • > 教えていただいた方法ではありませんが、この先どこを直すとよい
    > のでしょうか。

    提供されている情報だけでは分かりません。

    前にも書きましたが、情報が少なすぎです。回答者に提供する情報と
    して何が重要か、何が最低限必要かよく考えて、必要な情報を提供し
    てください。

    例えば今回の場合、環境、DB サーバー、ObjectDataSource のビジネ
    スロジックなど重要な情報が何も書いてありません。

    質問者の方には問題の難易度に応じた知識、質問を理解してもらうた
    めのスキルが必要だと思います。掲示板では特に。そうでないと話が
    通じないので。

    よく考えて質問していただければと思います。


    > 放置しているスレッドは認識しています。こっちにも確認できない
    > 都合があるのです。

    回答者に対して失礼という認識はないのでしょうか。

    2011年4月28日 12:37

すべての返信

  • 何故ダメかは、当該クラス/ロパティ/メソッドに関する MSDN ライブラリを
    よく読んでください。そこから答えが見つかるかもしれません。

    ObjectDataSourceMethodEventArgs.InputParameters プロパティから取得できる
    IOrderedDictionary オブジェクトの Add メソッドを使ってはいかがですか?

    ObjectDataSourceMethodEventArgs オブジェクトは ObjectDataSorce.Inserting
    イベントのハンドラの引数から取得できます。


    ところで、先のスレッド(下記)が放置状態になっています。ご自分で開いたス
    レッドですからクローズするまでフォローしてください。

    GridViewの更新ボタンをObjectDataSourceの更新処理で実行したい
    http://social.msdn.microsoft.com/Forums/ja-JP/aspnetja/thread/58cb1106-0701-4845-ad7b-5110f37e87ba

    2011年4月27日 12:48
  • ありがとうございます。

    IOrderedDictionary オブジェクトの Add メソッドについては、説明を読んでも使い方がわかりませんでした。

    今回Insertするテーブルのキー項目はオートナンバーにしています。

     

    「ObjectDataSource コントロールにおけるパラメーターの使用」というのを発見しました。

    「カスタムのパラメーター型を渡す」の部分から、応用すれば出来そうな気がしたのですが

    NorthwindEmployee クラスにどこで値をはめてInsertを呼び出しているのかわかりませんでした。

    Insertの実行はods.Insert()をボタンクリックに書けばよいと思っています。

    デザイン画面のObject.Data.SourceではInsertの引数設定はできないようでした。

    教えていただいた方法ではありませんが、この先どこを直すとよいのでしょうか。

     

    放置しているスレッドは認識しています。こっちにも確認できない都合があるのです。
    2011年4月28日 9:51
  • > 教えていただいた方法ではありませんが、この先どこを直すとよい
    > のでしょうか。

    提供されている情報だけでは分かりません。

    前にも書きましたが、情報が少なすぎです。回答者に提供する情報と
    して何が重要か、何が最低限必要かよく考えて、必要な情報を提供し
    てください。

    例えば今回の場合、環境、DB サーバー、ObjectDataSource のビジネ
    スロジックなど重要な情報が何も書いてありません。

    質問者の方には問題の難易度に応じた知識、質問を理解してもらうた
    めのスキルが必要だと思います。掲示板では特に。そうでないと話が
    通じないので。

    よく考えて質問していただければと思います。


    > 放置しているスレッドは認識しています。こっちにも確認できない
    > 都合があるのです。

    回答者に対して失礼という認識はないのでしょうか。

    2011年4月28日 12:37