private void BtnBuild_Click(object sender, RoutedEventArgs e) { var filename = TxbPdmFile.Text; if (string.IsNullOrEmpty(filename)) { ShowMessage("请选择PDM文件"); return; } string[] paths = filename.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); var file = paths.FirstOrDefault(x => { var extension = Path.GetExtension(x); return(extension != null && (File.Exists(x) && extension.ToLower() == ".pdm")); }); if (file != null) { var name = string.IsNullOrEmpty(TxbOutputName.Text) ? $"PDM_{DateTime.Now.ToString("yyyyMMddhhmmss")}" : TxbOutputName.Text; IReader reader = new PdmReader(); GeneralChm(reader, file, name); } }
//加载模型节点 private void LoadModel(TreeNode fileNode) { string fileName = fileNode.Tag.ToString(); PdmReader reader = new PdmReader(fileName); PDModel m = reader.BuildModel(); TreeNode node = new TreeNode(m.Name, 2, 2); node.ToolTipText = FormatNodeToolTip(m); node.Tag = m; node.ContextMenuStrip = cmsModel; LoadPackages(m.PackageList, node); if (m.TableList.Count > 0) { TreeNode tablesNode = new TreeNode("Tables", 4, 4); tablesNode.Tag = m.TableList; LoadTables(m.TableList, tablesNode); node.Nodes.Add(tablesNode); } fileNode.Nodes.Add(node); node.Expand(); }
protected IList <PdmTable> GetPdmTables() { PdmReader reader = new PdmReader(FileName); reader.InitData(); IList <PdmTable> pdmTables = reader.Tables; DbType = reader.GetDbType().ToString(); return(pdmTables); }
private void btConnection_Click(object sender, EventArgs e) { if (DbComStr == "PDM") { PdmReader reader = new PdmReader(); models = reader.ReadFromFile(txtPdm.Text); lbTableList.DisplayMember = "Name"; lbTableList.ValueMember = "Code"; lbTableList.DataSource = models.Tables; //注意,view暂时没有放出来 } else { #region string service = txtService.Text; string userName = txtUserName.Text; string pwd = txtPwd.Text; if (string.IsNullOrEmpty(service) || string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(pwd)) { MessageBox.Show("请输入必要的信息"); return; } ArrayList dbNameList = new ArrayList(); //dbNameList.Add("请选择"); DataTable dbNameTable = new DataTable(); try { string strConnection = $"server={service};database=master; uid={userName};pwd={pwd};Enlist=true"; SqlConnection conn = new SqlConnection(strConnection); conn.Open(); SqlDataAdapter adapter = new SqlDataAdapter("select name from master..sysdatabases", conn); lock (adapter) { adapter.Fill(dbNameTable); } foreach (DataRow row in dbNameTable.Rows) { dbNameList.Add(row["name"]); } conn.Close(); cbDBList.DisplayMember = "name"; cbDBList.ValueMember = "name"; cbDBList.DataSource = dbNameList; MessageBox.Show("连接成功"); } catch (Exception ex) { MessageBox.Show(ex.Message); } #endregion } }
private void ReadPdmFile(string filePath) { var pdmReader = new PdmReader(filePath); pdmReader.InitData(); TreeModelOperate.Context.Init(pdmReader.Models); XmlNodeOperate.Init(pdmReader.Tables); TwLeaf.ItemsSource = TreeModelOperate.Context.TreeModels; var tableInfos = XmlNodeOperate.Context.TableInfos; if (tableInfos != null && tableInfos.Count > 0) { var firstOrDefault = tableInfos.FirstOrDefault(); if (firstOrDefault != null) { BindColumnDataGrid(firstOrDefault.Id); } } }