tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルUpdateでどうしてもエラーが出てしまいます。
記事No4082
投稿日: 2006/08/11(Fri) 22:02
投稿者ジュン
VB.net2003 MSDE2000で開発しています。

Student_TblとGakunen_Tblという二つのテーブルが
gakunenというフィールドで関連付けられています。

Student_TblのST_Classを更新するのですが、
更新するレコードはGakunen_TblのClass_Fixが0のものだけです。

Google等で色々検索し下記の記述を作成したのですが、
「INNER付近に正しくない構文があります。」というエラーになってしまいます。

OleCmd = New OleDb.OleDbCommand("UPDATE Student_Tbl INNER JOIN Gakunen_Tbl ON " & _
     "Student_Tbl.ST_gakunen = Gakunen_Tbl.gakunen SET Student_Tbl.ST_Class = '' " & _
     "WHERE Gakunen_Tbl.Class_Fix = 0", OleCn)

     OleCmd.ExecuteNonQuery()

どうしても分からず投稿させていただきました。
皆様、お忙しい中とは存じますがご教授願えませんでしょうか。

[ツリー表示へ]
タイトルRe: Updateでどうしてもエラーが出てしまいます。
記事No4083
投稿日: 2006/08/14(Mon) 02:08
投稿者オショウ
SQL の構文ミスと言うか、SQL っていろいろ書けますので・・・
別の構文で試してみて下さい。

尚、何故、OleDbなんですか?
MSDE2000とは言え、SQL Serverのエンジンですので、SqlClientでしょう!

以上。

[ツリー表示へ]
タイトルRe^2: Updateでどうしてもエラーが出てしまいます。
記事No4085
投稿日: 2006/08/14(Mon) 19:01
投稿者ジュン
ご指摘有難うございます。

取りあえず、sqlclientで書き換えましたが、
やはり同じ箇所で実行時に全く同じSQL構文エラーが出てしまいます。

色々調べたのですがSQL構文自体に問題ないはずなのですが、
どうしてエラーになるか未だに分かりません。

お忙しい中とは存じますが宜しくお願いいたします。

[ツリー表示へ]
タイトルRe^3: Updateでどうしてもエラーが出てしまいます。
記事No4086
投稿日: 2006/08/14(Mon) 20:38
投稿者アグリッパ
こんばんは、アグリッパと申します。
SQL文を見せていただきましたが、SQLの構文が間違っているように思います。
SQL ServerのUpdate文は、
UPDATE Student_Tbl
SET Student_Tbl.ST_Class = ''
FROM Student_Tbl
INNER JOIN Gakunen_Tbl
ON Student_Tbl.ST_gakunen = Gakunen_Tbl.gakunen
WHERE Gakunen_Tbl.Class_Fix = 0
という構文になります。

参考までにMSDNへのリンクを張っておきます。
http://msdn.microsoft.com/library/ja/?url=/library/ja/tsqlref/ts_ua-uz_82n9.asp?frame=true

[ツリー表示へ]
タイトルRe^4: Updateでどうしてもエラーが出てしまいます。
記事No4087
投稿日: 2006/08/14(Mon) 21:13
投稿者ジュン
有難うございます。

出来ました!

MSDNも参照してしっかり勉強します。

本当に本当に有難うございました。

[ツリー表示へ]