private void btnDataSourceChoose_Click(object sender, EventArgs e) { this.CheckConnStringAssigned(() => { string tableNameFilter = txtTableNameFilter.Text; TableDAL tableDAL = new MSSQLTableDAL(this.ConnStr); IEnumerable<string> dsTables = tableDAL.GetAllTables(); if (!string.IsNullOrEmpty(tableNameFilter)) { dsTables = dsTables.Where(row => row.ToUpper().Contains(tableNameFilter.ToUpper())); } tvAllTables.Nodes.Clear(); foreach (var item in dsTables) { tvAllTables.Nodes.Add(item); } this.ShowMessage("已选择数据源"); }); }
private void btnPrepareDBTables_Click(object sender, EventArgs e) { this.CheckConnStringAssigned(() => { List<string> tableNames = new List<string>(); foreach (TreeNode item in tvAllTables.Nodes) { if (item.Checked) { tableNames.Add(item.Text); } } tvSource.Nodes.Clear(); tvSource.ImageList = imageList1; TableDAL tableDAL = new MSSQLTableDAL(this.ConnStr); var dbTables = tableDAL.GetAllTableSchema(tableNames); foreach (var dbTable in dbTables) { var tableNode = new TreeNode(dbTable.TableName); tableNode.ImageIndex = tableNode.SelectedImageIndex = 0; tableNode.Tag = dbTable; if (dbTable.PrimaryKey != null) { var pkNode = new TreeNode(dbTable.PrimaryKey.ColumnName); pkNode.ImageIndex = pkNode.SelectedImageIndex = 2; pkNode.Tag = dbTable.PrimaryKey; tableNode.Nodes.Add(pkNode); } foreach (var fk in dbTable.ForeignKeys) { var fkNode = new TreeNode(fk.ColumnName); fkNode.ImageIndex = fkNode.SelectedImageIndex = 3; fkNode.Tag = fk; tableNode.Nodes.Add(fkNode); } foreach (var column in dbTable.Columns) { var commonNode = new TreeNode(column.ColumnName); commonNode.ImageIndex = commonNode.SelectedImageIndex = 1; commonNode.Tag = column; tableNode.Nodes.Add(commonNode); } tvSource.Nodes.Add(tableNode); this.ShowMessage("已加载表【{0}】信息", dbTable.TableName); } }); }