///
/// 使用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();
*/
}
}
}