解决方案 »
- C#怎么写一个自动检测进程,如果进程关闭了,在自动打开这个进程?
- 为什么用ADOX创建ACCESS数据库及表正常,但有时不能为表添加主键?
- 关于一个双重循环的问题?
- SerialPort与三菱PLC通讯的问题(c# )
- 请问怎样编程从IE Temporary Internet Files文件夹中复制JPG文件到其他目录?(内空)
- listview前面加了checkbox,多选选的是false,想要checkbox实现当选怎么弄哟!
- C#怎样把二维数组保存到excel中
- 誰有EAN-13的條碼字庫啊﹖謝謝了~~
- 绘制个图形后如何旋转?
- 参数传递
- 求大神帮忙写一个winform最小化托盘的例子
- MSBuild使用/m参数编译WPF项目出现GeneratedInternalTypeHelper.g.cs不存在问题
查询出数据添加到list
然后制定ComboBox的displayMember和ValueMember为这两个属性,绑定数据源。
//取出数据库表的字段
public static ArrayList GetFeildsByTableName(string tableName)
{
string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + System.Windows.Forms.Application.StartupPath + "\\temp.mdb";
System.Data.DataTable dt = new System.Data.DataTable();
OleDbConnection dbConn = new OleDbConnection(ConnectionString);
try
{
DataView dv = null;
ArrayList list = new ArrayList();
string FieldName = null;
dbConn.Open();
dt = dbConn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null, tableName, null });
dbConn.Close();
int Rows = dt.Rows.Count;
dv = new DataView(dt);
dv.Sort = "ORDINAL_POSITION ASC";
for (int i = 0; i < Rows; i++)
{
if (dv[i]["DESCRIPTION"].ToString().IndexOf("fk") == -1)
{
FieldName = dv[i]["COLUMN_NAME"] + " " + dv[i]["DESCRIPTION"];
list.Add(FieldName);
}
FieldName = "";
}
//清除资源
dt.Dispose();
dv.Dispose();
return list;
}
catch (OleDbException ex)
{
throw;
} }
ArrayList result1 = GetFeildsByTableName("01");//取出表01的字段
ArrayList result2 = GetFeildsByTableName("02");//取出表02的字段
result1.AddRange(result2); //合并
var source = result1.Cast<string>().Distinct().ToArray(); //去重复
comboBox1.DataSource = source;