- - PR -
DataSetで変更したのに変更されないOracleのtable
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-05-19 15:42
教えて頂きたくて登録しました。
↓な感じでoracleに接続しています。 string strSQL = ""; strSQL = strSQL + "SELECT PARTS_CODE AS 部品 FROM ZAIKO"; OracleConnection conn = new OracleConnection("data source=***;user id=***;password=***"); conn.Open(); OracleDataAdapter adapter = new OracleDataAdapter(strSQL,conn); conn.Close(); DataSet ds = new DataSet(); adapter.Fill(ds,"ZAIKO"); DataTable dt = ds.Tables[0]; 変更する時は、↓な感じです。 DataSet ds = (DataSet)Session["ds"]; DataTable dt = ds.Tables[0]; DataRow row = dt.Rows[index]; row.BeginEdit(); try { row[0] = txtBcode.Text; row.EndEdit(); } catch { row.CancelEdit(); return; } WebGridを使って再度表示させているのですが(コード:↓) DataSet ds = (DataSet)Session["ds"]; DataTable dt = ds.Tables[0]; wg.DataSource = dt; wg.DataBind(); DataSetの変更は出来ています…たぶん。変更されて表示されているので。 でもoracleのテーブルは変わっていないんです。 SQLPlusでUPDATE出来るし、Accessにリンク貼っても変わるし…。 私の認識(知識?)では 「DataSetの変更はテーブルを直接変更してるも同じなんじゃ…??」 って思ってます。。 でも間違いもわからなくてさっきからずっと過去ログでウロウロ…。 初めて.NETを使って開発してるので初歩な質問かもしれませんが どうか宜しくお願いします。 「oracleのテーブルを変更したいんです。。」 | ||||
|
投稿日時: 2004-05-19 16:12
データセットは、DB(この場合Oracle)から必要な情報だけ取得してきて、それを保持した小さなデータベースと考えるといいです。
データセットを変更しても、データセットの更新内容をDBを更新する処理を入れないと、DBは更新されません。 更新をする方法は、DataAdapterを使う方法等あります。 やり方は、@ITのInsider.Netフォーラムの記事を参照してください。
| ||||
|
投稿日時: 2004-05-19 17:25
ご教授本当にありがとうございます。
何度も何度も更新して待っていました(TT) ログを読んでて「基礎講座ってどこだろう」と思っていたので とても感謝しています。 「3.楽観的なデータベース更新処理」をみて出来ました。 「本当にありがとうございました。」 [ メッセージ編集済み 編集者: 重軽傷 編集日時 2004-05-19 18:14 ] | ||||
|
投稿日時: 2004-05-19 18:28
通常は、「SETキーワードがありません。」の左に書いてあるExceptionクラスをMSDNライブラリで参照します。
ですけど、今回はヒントを。 updateStrのSQL文字列を、メモ帳などに1行で書いてみてください。 |
1