- - PR -
次のようなSQL文が、何故かエラーになります。
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-10-06 11:21
Oracleのデータベースにアクセスするアプリケーションを作成しております。
言語はC#です。 次のようなコードを記述して、データセットを作成しようとしております。 --------------------- //SQL文を生成する。 string strSql = "SELECT * , '" + Textbox1.Text + "' AS TEXTBOX1 FROM WHERE (ID = 1)"; //DataSetを生成する oracleSelectCommand1.CommandText = strSql; oracleSelectCommand1.Connection = oracleConnection1; oracleDataAdapter1.SelectCommand = oracleSelectCommand1; oracleDataAdapter1.Fill(DataSet1); --------------------- 上記のFillメソッドの時点で例外が発生します。 例外の内容は、 「ORA-00923: FROMキーワードが指定の位置にありません。」 というものです。 しかし、SQL文自体は、Oracle Enterprise Manager ConsoleのSQLスクラッチパッドで実行すると、正常に実行可能なのです。 何が原因なのかさっぱり分かりません。 どなたか、教えて頂けないでしょうか? | ||||
|
投稿日時: 2003-10-06 11:25
From句のあとに対象テーブルがないようですが。
| ||||
|
投稿日時: 2003-10-06 11:34
明らかにSQL文のミスです。 提示されているSQL文は何で動かそうとも動かないかと・・・。 | ||||
|
投稿日時: 2003-10-06 11:42
すいません・・・書き写す時に誤って消してしまいました。
正しくは、 ---------- string strSql = "SELECT * , '" + Textbox1.Text + "' AS TEXTBOX1 FROM SchemaName.TableName WHERE (ID = 1)"; ---------- そりゃテーブル名が無ければ動かないですわな(笑)。 作られるSQL文は、以下のようになりました。 "SELECT * , 'TEXT1' AS TEXTBOX1 FROM SchemaName.TableName WHERE (ID = 1)" 確かに、これでも動かないのです。スキーマ名を間違えていないか、など確認はしてみたのですが、間違いは無いようなのです。 ただ、これなら動きます。 "SELECT * FROM SchemaName.TableName WHERE (ID = 1)" どうも、"'TEXT1' AS TEXTBOX1" の部分が動かない原因なのかと考えたのですが、これがどう間違えているのか、どう直せばいいのか、よく解らないのです。 紛らわしい質問で申し訳ないのですが、教えていただけないでしょうか? | ||||
|
投稿日時: 2003-10-06 11:45
ASを省略したらどうなりますか?
| ||||
|
投稿日時: 2003-10-06 11:54
SELECT [別名].*, 'TEXT1' AS TEXTBOX1
FROM SchemaName.TableName [別名] WHERE (ID = 1) ですかね〜 [ メッセージ編集済み 編集者: ぴで 編集日時 2003-10-06 11:56 ] | ||||
|
投稿日時: 2003-10-06 11:56
> ASを省略したらどうなりますか?
つまり、 "SELECT * , 'TEXT1' TEXTBOX1 FROM SchemaName.TableName WHERE (ID = 1)" もしくは、 "SELECT * , 'TEXT1' FROM SchemaName.TableName WHERE (ID = 1)" とする方法ですね? やってみたのですが、同じでした。エラーメッセージも、やはり同じものが出ます。 | ||||
|
投稿日時: 2003-10-06 11:56
こんにちは。
"SELECT * , 'TEXT1' AS TEXTBOX1 FROM SchemaName.TableName WHERE (ID = 1)" ,が余計だと思いますが。。。 "SELECT * 'TEXT1' AS TEXTBOX1 FROM SchemaName.TableName WHERE (ID = 1)" でどうでしょう? -------------------------------- って、勘違いしてました。 これでもダメです。出直してきます(笑)。 [ メッセージ編集済み 編集者: まゆりん 編集日時 2003-10-06 12:03 ] |