/// /// 使用SqlSugar进行数据访问, /// 参考文档 https://www.donet5.com/Home/Doc /// using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using WorkData; using WorkData.Entity; namespace LibTest { /// /// 工区数据示例类. /// public partial class FrmDatabaseIO : Form { List tableTypes = new List(); /// /// Initializes a new instance of the class. /// public FrmDatabaseIO() { InitializeComponent(); tableTypes.Add("井基础"); tableTypes.Add("井斜"); tableTypes.Add("测井曲线"); tableTypes.Add("孔隙度"); tableTypes.Add("砂岩厚度"); string strProjectFile = "C:\\temp\\20250330\\sys.db"; Config.ProjectPath = Path.GetDirectoryName(strProjectFile); } /// /// Frms the database i o_ load. /// /// The sender. /// The e. private void FrmDatabaseIO_Load(object sender, EventArgs e) { TreeNode tnRoot = treeView1.Nodes[0]; tnRoot.Nodes.Clear(); foreach (string item in tableTypes) { TreeNode tnChild = tnRoot.Nodes.Add(item); } treeView1.ExpandAll(); } /// /// 打开工区事件. /// /// The sender. /// The e. private void btnOpenProject_Click(object sender, EventArgs e) { // 最近的工区列表 List workList = WorkConfig.Data.WorkList; OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "*.kep|*.kep"; if (ofd.ShowDialog() != DialogResult.OK) { return; } string strProjectFile = ofd.FileName; Config.ProjectPath = Path.GetDirectoryName(strProjectFile); //Config.ProjectName = Path.GetFileNameWithoutExtension(strProjectFile); try { treeView1.SelectedNode = treeView1.Nodes[0].Nodes[0]; } catch (Exception ex) { MessageBox.Show($"数据库打开错误.\r\n{ex.Message}"); } } /// /// 显示各数据表. /// /// The sender. /// The e. private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node == null) { return; } string strDataName = e.Node.Text; switch (strDataName) { case "井基础": List lstWellBase = DBHelp.Db.Queryable().ToList(); displayData(lstWellBase); break; case "井斜": List lstWellDeflection = DBHelp.Db.Queryable().ToList(); displayData(lstWellDeflection); break; case "测井曲线": List lstWellCurve = DBHelp.Db.Queryable().ToList(); displayData(lstWellCurve); break; case "孔隙度": List lstKxd = DBHelp.Db.Queryable().ToList(); displayData(lstKxd); break; case "砂岩厚度": List lstCcsjSyhd = DBHelp.Db.Queryable().ToList(); displayData(lstCcsjSyhd); break; default: break; } this.dataGridView1.Tag = strDataName; } /// /// 显示数据表. /// /// The data. /// A bool. private bool displayData(List data) { this.dataGridView1.DataSource = null; BindingList bindlist = new BindingList(data); this.dataGridView1.DataSource = bindlist; return true; } /// /// 插入数据. /// /// The sender. /// The e. private void btnInsert_Click(object sender, EventArgs e) { string strDataName = $"{this.dataGridView1.Tag}"; if (string.IsNullOrEmpty(strDataName)) { return; } switch (strDataName) { case "井基础": /* WellBase wellNew = new WellBase(); wellNew.JH = "井号1"; DBHelp.Db.Insertable(wellNew).ExecuteCommand(); */ break; case "井斜": break; default: break; } } /// /// 更新数据. /// /// The sender. /// The e. private void btnUpdate_Click(object sender, EventArgs e) { /* WellBase wellUpdata = DBHelp.Db.Queryable< WellBase>().First(); wellUpdata.JH = "井号1"; DBHelp.Db.Updateable(wellUpdata).ExecuteCommand(); */ } } }