-1

プロジェクトには、db01.accdbデータベースがあります
。db01DataSetは、vs2010で新しいデータソースの追加ウィザードによって作成されます。

DdropDownButtonにアイテムを追加しようとしています

private void Form1_Load(object sender, EventArgs e)
{
foreach (DataTable dt in db01DataSet.Tables) {
drop01.DropDownItems.Add(dt.TableName);
}}

エラー:非静的フィールド、メソッド、またはプロパティにはオブジェクト参照が必要です

4

2 に答える 2

1

データベースからテーブル名を取得してみてください:このクエリを使用して

SELECT MSysObjects.Name AS table_name FROM MSysObjects WHERE (((Left([Name],1))<>"~") 
    AND ((Left([Name],4))<>"MSys") 
    AND ((MSysObjects.Type) In (1,4,6))) order by MSysObjects.Name

これにより、すべてのMSAccessテーブル名が与えられます。

于 2012-08-25T12:22:15.987 に答える
1

代わりにTableNameを試してください。

drop01.DropDownItems.Add(dt.TableName);

ただし、DataSetが作成されたばかりで、テーブルが含まれていないため、現在投稿されているコードは何も生成しません。db01DataSetがウィザードによって作成された場合、「新しい」ものを作成するのではなく、提供されたものを使用するだけです。

于 2012-08-25T13:01:46.163 に答える