- PR -

初心者なので教えてください。

1
投稿者投稿内容
vaio31
会議室デビュー日: 2008/09/21
投稿数: 5
投稿日時: 2008-09-21 00:09
現在、初めて.NETを使ってWebアプリケーションを作っているのですが、エラーが出て行き詰ったので教えてください。

今ソースはこうなっています。
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' ページを初期化するユーザー コードをここに挿入します。

Dim DS As System.Data.DataSet
Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
Dim MyConnection As System.Data.OleDb.OleDbConnection
Dim MyAdapter

'Connectionオブジェクトを生成
MyConnection = New System.Data.OleDb.OleDbConnection( _
"provider=Microsoft.Jet.OLEDB.4.0; " & _
"data source=C:\Inetpub\wwwroot\kadai\sdb.MDB")

'DataAdapterオブジェクトを生成
MyAdapter = New System.Data.OleDb.OleDbDataAdapter( _
"select * from table", MyConnection)

DS = New System.Data.DataSet
MyAdapter.Fill(DS)
DataGrid2.DataSource = DS
DataGrid2.DataBind()
MyConnection.Close()

こうして、DataGrid2にデータベースから読んだデータを表示したいのですがどうしても、次のようにエラーが出てしまいます。

FROM 句の構文エラーです。
説明 : 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。

例外の詳細: System.Data.OleDb.OleDbException: FROM 句の構文エラーです。

ソース エラー:


行 120:
行 121: DS = New System.Data.DataSet
行 122: MyAdapter.Fill(DS)
行 123: DataGrid2.DataSource = DS
行 124: DataGrid2.DataBind()

どうも122行が悪いみたいでどう直したらいいのかわかりません。アドバイスよろしくお願いします。
未記入
会議室デビュー日: 2008/09/21
投稿数: 5
投稿日時: 2008-09-21 01:08
こんばんわ

ソースコードを見るとデータベースが開かれていないように見えます。

vaio31
会議室デビュー日: 2008/09/21
投稿数: 5
投稿日時: 2008-09-21 07:03
どう直したらいいのかちょっとわからないので、ソースコードをこうするといいと教えていただけませんでしょうか?
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2008-09-21 10:28
DB接続はFillメソッド内で自動的にOPENされるので関係ないと思います。

DbDataAdapter.Fill メソッド (DataSet)
http://msdn.microsoft.com/ja-jp/library/aa325448.aspx

エラーメッセージから考えてSQLのエラーだと思いますが、実際はどんなSQLを発行しているのでしょう?
あと、質問のやりとりから、DBプログラミングについて知識が全くないようにみえるので、初心者向けの本でも購入して、理解されたほうがいいと思います。
全てを掲示板で聞くのは流石に無理がありますので。。。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2008-09-21 10:51
予約語であるtableをfromに書いてるからでは?[table]とすればいいはず

[追記]
↓たぶんGUIでテーブル作成したので、そのときはreate [table] … で処理されたのでしょうね。

[ メッセージ編集済み 編集者: べる 編集日時 2008-09-23 01:26 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-09-21 20:45
引用:

べるさんの書き込み (2008-09-21 10:51) より:
予約語であるtableをfromに書いてるからでは?[table]とすればいいはず


それなら、create table の時点でエラーになっていると思います。
YasuHiro1018
会議室デビュー日: 2006/07/16
投稿数: 18
投稿日時: 2008-09-21 22:19
引用:

Jittaさんの書き込み (2008-09-21 20:45) より:
それなら、create table の時点でエラーになっていると思います。



そこは Access なりが回避してくれるんじゃないでしょうか
vaio31
会議室デビュー日: 2008/09/21
投稿数: 5
投稿日時: 2008-09-22 08:42
やっぱり[table]にしてみると、うまく処理してくれました。
ありがとうございました。
1

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