@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

ラベルのテキストをINSERTしたい

投稿者投稿内容
闘魂
会議室デビュー日: 2004/03/03
投稿数: 10
投稿日時: 2004-03-11 14:50
DB:PostgreSQL ODBC接続しています。
あるテーブルから表示させているテキストを別のテーブルにINSERTしたいのですが、うまくいきません。
アドバイスよろしくお願いします。

以下、コード

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim kakunin As Integer
Dim kotoba As String
kotoba = "発注情報を登録します。"
kakunin = MsgBox(kotoba, MsgBoxStyle.YesNo, "発注確認")

Dim odbccn As New Odbc.OdbcConnection
Dim odbccmd As Odbc.OdbcCommand
Dim dtset As DataSet = New DataSet("hyouji")
Dim test As Object

If kakunin = vbYes Then
odbccn.ConnectionString = _
"DSN=PostgreSQL;Protocol=6.4;LFConversion=1;Ksqo=0;UnknownSizes=0;Debug=0;UseServerSidePrepare=0;Parse=0;" & _
"SERVER=(IPアドレス);ByteaAsLongVarBinary=0;TextAsLongVarchar=1;ReadOnly=1;FakeOidIndex=0;ConnSettings=;" & _
"MaxLongVarcharSize=8190;MaxVarcharSize=254;Socket=4096;TrueIsMinus1=0;DisallowPremature=0;DATABASE=ohashi;" & _
"Optimizer=0;UID=postgres;ShowOidColumn=0;UseDeclareFetch=0;CancelAsFreeStmt=0;BI=0;CommLog=0;Fetch=100;" & _
"UpdatableCursors=1;ExtraSysTablePrefixes=dd_;UnknownsAsLongVarchar=0;RowVersioning=0;PORT=5432;BoolsAsChar=1;ShowSystemTables=0;" & _
"data source=(IPアドレス).postgres;" & _
"persist security info=false"
odbccn.Open()
odbccmd = New Odbc.OdbcCommand("INSERT hyouji" & _
"SET [shop] = " + Label12.Text, odbccn)
odbccmd.ExecuteScalar()

odbccn.Close()

End If

End Sub
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-03-11 14:57
NAL-6295です。

引用:

odbccmd = New Odbc.OdbcCommand("INSERT hyouji" & _
"SET [shop] = " + Label12.Text, odbccn)



とりあえず、一つだけ。
Insert文の構文ってそんなでしたっけ?
Insert文とUpdate文を足して2で割ったような構文ですね。
PostgreSQLには存在するのですか?
(PostgreSQLを使った事ないので・・・)
闘魂
会議室デビュー日: 2004/03/03
投稿数: 10
投稿日時: 2004-03-11 15:07
NAL-6295さんするどいですね。
Update文を参考にしてInsert文を書いてみました。
すいません、まだ勉強中の身でして構文の書き方もよくわかっていないのですよ。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-03-11 15:10
掲示板等で質問する時には「うまくいきません」とか「エラーになります」だけではいけません。
●自分はどうなると思ったのか
●実際どうなったのか(エラーメッセージやどこで中断するか等詳しく)
を書くと、状況が伝わるため回答も得やすくなります。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-03-11 15:20
NAL-6295です。

問題が発生した時は、まず自分を疑いましょう。
勉強中という事であれば、尚更です。
今回のケースで言えば、
自分が何に疎いのかを判断します。
そこでSQL文に対する知識が明るくないという事を自覚し、
自分の書いたSQL文が正しいのかどうか、
SQL関係の書籍や資料を見て構文を調べる
ことで解決します。

往々にして、問題を最初から自分以外に求めると、解決まで遠回りする事になります。

どう動作するのか分からない状態でコーディングするのは危険な事です。
何を知っていて何を知らないかを自覚しましょう。
その上で知らない事を知らないままにしないようにしましょう。
その積み重ねです。

という事です。
闘魂
会議室デビュー日: 2004/03/03
投稿数: 10
投稿日時: 2004-03-11 15:24
一郎さんすいません、私の書き方に問題がありました。
以下、追加です。

この構文で意図した事は「hyouji」というテーブルにLabel12.TextをInsertする事です。

実際、コンパイルするとodbccmd.ExecuteScalar() の個所で
「'System.Data.Odbc.OdbcException' のハンドルされていない例外が system.data.dll で発生しました。追加情報 : システム エラーです。」
と表示されます。
恐らく、odbccmd = New Odbc.OdbcCommand("INSERT hyouji" & _
"SET [shop] = " + Label12.Text, odbccn) のコードに問題があるのだと思います。


Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-03-11 15:45
引用:

闘魂さんの書き込み (2004-03-11 15:24) より:

恐らく、odbccmd = New Odbc.OdbcCommand("INSERT hyouji" & _
"SET [shop] = " + Label12.Text, odbccn) のコードに問題があるのだと思います。


その通りです。で、どうしたのですか?

 ODBCの設定に問題があると思うのですか、それとも、SQL文に問題があると思うのですか?それとも、なぜここが問題なのかわからないのですか?


 あなたのそばにいるのではないですから、あなたに起こっていることはわからないんですよ。だから、面倒がらずに何をどうして欲しいのか、ちゃんと書いてください。
#もちろん、ちゃんと書いたからといって望む回答が得られるわけではありません
闘魂
会議室デビュー日: 2004/03/03
投稿数: 10
投稿日時: 2004-03-11 16:22
引用:

Jittaさんの書き込み (2004-03-11 15:45) より:
 ODBCの設定に問題があると思うのですか、それとも、SQL文に問題があると思うのですか?それとも、なぜここが問題なのかわからないのですか?


ODBCの設定には問題ありません。SQL文に問題があります。しかし、何故問題なのかわかりません。(初めて本格的に取り組む言語で経験が2ヶ月しかないので)

ここでどうしたらいいのか教えてもらうのが虫がよすぎました。
本でも探して勉強してみます。(ロクな本はありませんがね・・・)

スキルアップ/キャリアアップ(JOB@IT)