Visual Basic 2008 を使用しています。(初心者です)
ODP.NETにてデータセットし、
オラクルのテーブルを読み込む事は可能なのですが、
データセットに更新して、
オラクルのテーブルレコードを更新する方法がわかりません。
【】内にソースを記載して頂ければ幸いです。
ご伝授願いたく宜しくお願い致します。
例)
オラクルテーブル名= 社員マスター
フィールド= 社員番号、社員名
Imports Oracle.DataAccess.Client
Imports Oracle.DataAccess.Types
Dim cnn As New OracleConnection
Dim cmd As New OracleCommand
Dim dsList As New DataSet
Dim adp As New OracleDataAdapter(cmd)
cnn.ConnectionString = "user id=ITS;password=ITS;data source=ITS"
cmd.Connection = cnn
'社員番号 777 がオラクルテーブルにあるか
cmd.CommandText = "Select * from 社員マスター WHERE 社員番号 = 777 "
adp.Fill(dsList, "EMPMSTR")
'DataSetの件数が0なら
If dsList.Tables("EMPMSTR").Rows.Count = 0 Then
【ここに記載すると思いますが、
社員番号=777 社員名=太郎 をデータセットとオラクルテーブルに追加するソースをお願い致します。】
else'社員番号 777 がある場合。
【ここに記載すると思いますが、
社員番号=777 の 社員名を 太郎 に変更し、データセットとオラクルテーブルを更新するソースをお願い致します。】
end if
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
>>sSQL は何を入れればよいのでしょうか?
DIM Ssql AS STRING ="INSERT INTO 社員マスター(社員番号,社員名) VALUES(777,'太郎')
"
更新したい 、sql分を入れればいいです
>>ORA_TRN で 変数 'ORA_TRN' は、それを囲むブロック内の変数を非表示にします。 とエラーになり、
意味がわかりません??
環境はVisual Basic 2008 なら
Usingが使えるはずですが・・・・
>又、データセットに更新する方法が分かりません。
何がしたいのかがわかりません
データセットの内容を更新したいのか?
sqlの結果を取得したいのか?
どんなことをやりたいのかを明確にしてもらえれば
いろいろと答えられると思うのですが・
No.4
- 回答日時:
はじめのSELECTで open はしてるのかと思いました。
Using ORA_CN As New OracleConnection
''ORACLE接続文字列 set
ORA_CN.ConnectionString = "user id=ITS;password=ITS;data source=ITS"
'/* 接続開始
ORA_CN.Open()
If ORA_CN.State = ConnectionState.Open Then
'/* トランザクション開始
Dim ORA_TRN As OracleTransaction = ORA_CN.BeginTransaction
Using ORA_CMD As New OracleCommand
ORA_CMD.Connection = ORA_CN
ORA_CMD.CommandText = sSQL
Try
lret = ORA_CMD.ExecuteNonQuery()
ORA_TRN.Commit()
Catch ex As Exception
MsgBox(ex.Message)
ORA_TRN.Rollback()
lret = -1
End Try
'/* 開放
ORA_CMD.Dispose()
End Using
End If
If ORA_CN.State = ConnectionState.Open Then ORA_CN.Close()
'/* 開放
ORA_CN.Dispose()
End Using
でどうでしょう?
この回答への補足
返答有難う御座いました。
連絡が遅くなり申し訳ありません。
分からないためそっくりソースをコピペしましたが、
ORA_TRN で 変数 'ORA_TRN' は、それを囲むブロック内の変数を非表示にします。 とエラーになり、
sSQL は何を入れればよいのでしょうか?
又、データセットに更新する方法が分かりません。
ご伝授の程、宜しくお願い致します。
No.3
- 回答日時:
こんな感じですかね?
vb2008なら Using 使ったほうがいいかと
'/* トランザクション開始
Dim ORA_TRN As OracleTransaction = cnn.BeginTransaction
dim lret as long
CMD.CommandText = "INSERT INTO 社員マスター(社員番号,社員名) VALUES(777,'太郎')
"
Try
lret = CMD.ExecuteNonQuery()
ORA_TRN.Commit()
Catch ex As Exception
ORA_TRN.Rollback()
lret = -1
End Try
この回答への補足
ご返答有難う御座いました
早速、試してみましたが、
ORA_TRN As OracleTransaction = cnn.BeginTransaction
の所で、エラーとして
【この操作用に接続がオープンしている必要があります。】
と来ました。
何が悪いのかが分からない為、ご伝授願います。
No.2
- 回答日時:
MSDNのドキュメントを参考にしたらいかがでしょう。
http://msdn.microsoft.com/ja-jp/library/system.d …
http://msdn.microsoft.com/ja-jp/library/ss7fbaez …
ここにある関連ページも参考になります。
この回答への補足
ご返答有難う御座います。
参考URLは結構見たのですが、初心者の為、わからず、
実際にソースを書いて頂ければ、把握できるかと思い、投書しました。
できれば、ソースを書いて頂ければ幸いです。
No.1
- 回答日時:
cmd.ExecuteOracleNonQuery を使ってINSERT文かUPDATE文を実行すれば
良いのでは?
INSERT INTO 社員マスター(社員番号,社員名) VALUES(777,'太郎')
UPDATE 社員マスター SET 社員名='太郎' WHERE 社員番号=777
この回答への補足
ご返答有難う御座いました。
ExecuteOracleNonQuery を入力すると
'Oracle.DataAccess.Client.OracleCommand' のメンバではありません。 とエラーになってしまいます。
初心者なもので、出来れば具体的に構文を教えて頂きたく、
又、データセットに更新する方法も教えて頂きたく、宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで別mdbのテーブルをコピー
-
『列名 '担当者CD' があいま...
-
VBとアクセスでSQL文に変...
-
SQLを発行とは?クエリの作成と...
-
AccessからExcelへエクスポート...
-
ACCESS2010 実行時エラー 2766
-
asp.net mvcを利用する場合の複...
-
Excel複数シートをaccessへ一括...
-
Access2003VBA リンクテーブル...
-
ExcelVBAからAccessMDB内のテー...
-
★クリスタルレポートの元になる...
-
DataGridViewで変更した値を反...
-
VB.NET コマンドの使い回しに問...
-
任意の周波数の正弦波(サイン...
-
VBでDBのカレントレコードをコ...
-
.net 複数の主キーを設定する方法
-
オラクルデータベースへの更新方法
-
他のMDBのテーブルに追加したい
-
SQL文の最後に「;」はいら...
-
DAOでフィールドのデータ型を変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
『列名 '担当者CD' があいま...
-
SQLを発行とは?クエリの作成と...
-
VBとアクセスでSQL文に変...
-
Accessで別mdbのテーブルをコピー
-
手動または分散トランザクショ...
-
エクセルのテーブルを解除する...
-
CSVファイルのエクスポートでソ...
-
AccessからExcelへエクスポート...
-
HTMLのテーブルの行数が多くな...
-
ACCESS2010 実行時エラー 2766
-
ExcelVBAからAccessMDB内のテー...
-
Excel複数シートをaccessへ一括...
-
DataGridViewに複数テーブルの...
-
他のMDBのテーブルに追加したい
-
ワークテーブルの作成について
-
★クリスタルレポートの元になる...
-
COBOLのINVALID KEYが理解でき...
-
VBでコンボボックスとテキスト...
-
VB.NETでのAccessテーブルリンク
-
Accessのフォームでリス...
おすすめ情報