-PR-
  • すぐに回答を!
  • 質問No.7673139
解決
済み

ASP.Net ODS UpDateメソッド

  • 閲覧数206
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 58% (96/164)

お世話になります。
ASP.Net 初心者です。日夜修行をしているのですが、難解な壁に当たっております。

GridView にデータソースとして ObjectDataSource を指定しております。
GridView でどうしても インラインエディットをしたい個所が2カ所あるのです。
赤間本では、インラインエディットはいろいろな事から使用しないほうが良いとのこのなのですが、どうしても使用したいのです。ですが、GridViewの編集を有効にするにチェックをして、問題の2か所を変更しても、隠れているフィールドに対する値がないとエラーになってしまいます。

レコードにはユニークなIDキーがあるので、以下のようなUPDate用のメソッドを作成し、ObjectDataSource のデータソースの構成、メソッドの定義の UpDateのところでメソッドを選択したのですが、パラメータも以後聞かれないですし、これが正しいのかもわかれいません。
UpDateの時の戻り値、パラメータの設定など わからない事ばかりです。
GridView の編集ボタンを押して、2つの項目を変更し、更新を押したときの制御の時にこのメソッドをどう使ったらいいのかなど、何卒ご教授いただけますと大変ありがたいです。

もともとある UpDate のところを見るとパラメータと戻り値しか書いてないのですが、プログラムが記載されていれば、それを見て応用できるんですが・・・

何卒よろしくお願いいたします。


<DataObjectMethod(DataObjectMethodType.Update, False)> _
Public Function UpDateNitteiSeekData(ByVal TEST1 As Nullable(Of Integer), ByVal TEST2 As Nullable(Of Integer), ByVal KeyID As Integer) As NitteiSeekDataSet.t_MasterDataTable

Dim SQLDa As SqlDataAdapter
Dim SQL As String

SQL = " UPDATE dbo.t_Master SET TEST1 = " & TEST1 & " ,TEST2 = " & TEST2 & " WHERE(KeyID = " & KeyID & ")" 'このKeyID がユニークな主キーになります。

     ’この辺りから怪しくなります。 UpDateの時は以下でいいのかな?
SQLDa = New SqlDataAdapter(SQL, "Data Source=SERVER01;Initial Catalog=TEST;Integrated Security=True")

Dim table As NitteiSeekDataSet.t_MasterDataTable = New NitteiSeekDataSet.t_MasterDataTable

SQLDa.Fill(table)

     '戻り値って table 型でいいの?
Return table

End Function
  • 回答数1
  • 気になる数0

質問者が選んだベストアンサー

  • 回答No.1
レベル9

ベストアンサー率 55% (33/59)

「赤間本」というのが "Microsoft Visual Studio 2005 による Web アプリケーション構築技法" ならそれに詳しく書いてあります。

特殊なことをするのでなければ、Visual Studio のウィザードを使って、一行も自力でコードを書かずに、編集機能を実装できるはずです。

ObjectDataSource に必要な Update メソッドも、「赤間本」に書いてあるように、xsd ファイル(型付 DataSet + TableAdapter)を作れば、自動生成される TableAdapter の中に含まれます。

ウィザードがうまくいかないとすると、その原因は接続文字列が web.config に無いからでは? もしくは Express 版の Visual Studio から既定のインスタンス(ユーザーインスタンスでなく)に接続しようとしているからでは?

(注)
Web サイトプロジェクトでは、自動生成された 型付 DataSet + TableAdapter のソース(クラスファイル)はソリューションエクスプローラーにはありません。以下のフォルダ(ASP.NET 4 の場合)に作られます。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
補足コメント
kyokotan12

お礼率 58% (96/164)

WebSurferさん お世話になります。

ウィザードでは普通にSELECT UPDATE INSERT DELETE まで作成されていております。接続文字列も問題ありません。
質問の趣旨は、ウィザードで作成した UPDATEではエラーがでて、尚且つ、更新する個所が限定されているので、すくないパラメータでのメソッドを作成し、GridView での編集ボタン → 更新 で作成したメソッド (VBファイル)で更新できないかと思った次第です。
投稿日時 - 2012-09-02 21:05:23
お礼コメント
kyokotan12

お礼率 58% (96/164)

WebSurferさん お世話になります。

>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files

ここにあったUpdateメソッドを探し、他のネットの情報と合わせて 独自のUpDate メソッドの実装ができました。
ありがとうございました。
投稿日時 - 2012-09-03 10:26:41
  • ありがとう数0
-PR-
-PR-
  • 回答数1
  • 気になる数0
このQ&Aで解決しましたか?
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


-PR-

ピックアップ

-PR-
ページ先頭へ