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を見た人はこんなQ&Aも見ています
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
ウェブサービスによるoracleへの同時接続
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBの質問です
-
ハッシュテーブルの使い方
-
MDBテーブルへの追加変更を教え...
-
ヘルプのSQLが動きません
-
SQLを発行とは?クエリの作成と...
-
Access2007でアプリケーション...
-
エクセルのテーブルを解除する...
-
AccessからExcelへエクスポート...
-
リストボックスに複数列表示し...
-
博識な方、アバターページにつ...
-
PHP+DBで会員制情報配信サイト...
-
重複したデータを見つけたいの...
-
★クリスタルレポートの元になる...
-
エクセルでXY座標に並べられた...
-
Redim とEraseの違いは?
-
【C#】textBoxの指定行のデータ...
-
配列のペースト出力結果の書式...
-
VB.NETにて、構造体へデータを...
-
Excel VBAでグラフの可変データ...
-
VBAに関する種々の質問
マンスリーランキングこのカテゴリの人気マンスリー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のフォームでリス...
おすすめ情報