如何通过表名填充DropDownButton

时间:2012-08-25 12:11:05

标签: c# winforms datatable

在项目中我有db01.accdb数据库
db01DataSet由vs 2010中的Add New DataSource Wizard创建。

我正在尝试将项目添加到DdropDownButton

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

错误:非静态字段,方法或属性

需要对象引用

2 个答案:

答案 0 :(得分: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

这将给出所有MS访问表名称......

答案 1 :(得分:1)

尝试使用TableName:

drop01.DropDownItems.Add(dt.TableName);

当前发布的代码不会生成任何内容,因为DataSet刚刚创建,并且没有任何表格。如果向导创建了db01DataSet,那么你不应该创建“new”,只需使用提供的那个。