//修改 private void simpleButton2_Click(object sender, EventArgs e) { if (gridView1.DataRowCount > 0) { if (string.IsNullOrEmpty(textBox1.Text.Trim()) || string.IsNullOrEmpty(textBox2.Text.Trim())) { MessageBox.Show("模板名称或模板内容不能为空!"); return; } //if (GetTheSameTemplate(textBox1.Text.Trim())) //{ // MessageBox.Show("已存在相同的模板名称,请修改"); // return; //} string id = gridView1.GetFocusedRowCellValue("ID").ToString(); bool UpdateFlag = true; if (Program.DB_SIGN == 0) { UpdateFlag = SqliteOptions.CreateInstance().SqliteUpdate("update t_DiagnosisTemplate set ChildTypeName='" + textBox1.Text.Trim() + "',DiagnosisContent='" + textBox2.Text.Trim() + "',JP='" + textBox3.Text.Trim() + "' where ID='" + id + "'"); } else { UpdateFlag = SqliteOptions_sql.CreateInstance().SqliteUpdate("update t_DiagnosisTemplate set ChildTypeName='" + textBox1.Text.Trim() + "',DiagnosisContent='" + textBox2.Text.Trim() + "',JP='" + textBox3.Text.Trim() + "' where ID='" + id + "'"); } if (UpdateFlag) { MessageBox.Show("修改成功!"); ZhenDuanTemplet_Form_Load(null, null); } } }
//删除 private void simpleButton3_Click(object sender, EventArgs e) { if (gridView1.DataRowCount > 0) { string id = gridView1.GetFocusedRowCellValue("ID").ToString(); if (MessageBox.Show("确定要删除此条数据吗?", "删除提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK) { bool DeleteFlag = true; if (Program.DB_SIGN == 0) { DeleteFlag = SqliteOptions.CreateInstance().SqliteDelete("delete from t_DiagnosisTemplate where ID='" + id + "'"); } else { DeleteFlag = SqliteOptions_sql.CreateInstance().SqliteDelete("delete from t_DiagnosisTemplate where ID='" + id + "'"); } if (DeleteFlag) { MessageBox.Show("删除成功!"); ZhenDuanTemplet_Form_Load(null, null); } } } }
/// <summary> /// 更新申请状态 /// </summary> /// <param name="applicationId"></param> /// <param name="status"></param> private void UpdateApplicationStatus(string applicationId, string status) { var so = new SqliteOptions(); string sql = string.Format("Update tb_Application set status='{1}' where ApplicationId='{0}'", applicationId, status); so.SqliteUpdate(sql); }
public PatientManageFrm() { InitializeComponent(); _sqlite = new SqliteOptions(); wp.PageSize = ConfigHelper.PAGE_SIZE; txtPageSize.Text = wp.PageSize.ToString(); }
public static string GetConnectionString(this SqliteOptions sqliteOptions) { var builder = new SqliteConnectionStringBuilder { DataSource = sqliteOptions.DataSource, Cache = (SqliteCacheMode)Enum.Parse(typeof(SqliteCacheMode), sqliteOptions.Cache, true), Mode = (SqliteOpenMode)Enum.Parse(typeof(SqliteOpenMode), sqliteOptions.Mode, true) }; return(builder.ConnectionString); }
private void DiagnosisShow_Form_Load(object sender, EventArgs e) { DataTable dt1 = new DataTable(); if (Program.DB_SIGN == 0) { dt1 = SqliteOptions.CreateInstance().ExcuteSqlite("select * from t_DiagnosisTemplate order by DiagIndex DESC"); } else { dt1 = SqliteOptions_sql.CreateInstance().ExcuteSqlite("select * from t_DiagnosisTemplate order by DiagIndex DESC"); } gridControl1.DataSource = dt1; }
private static void MigrateToLatest <TKey>(string connectionString, IdentityOptionsExtended identityOptions, SqliteOptions options) where TKey : IEquatable <TKey> { var runner = new MigrationRunner(connectionString, options); if (identityOptions.Stores.CreateIfNotExists) { runner.CreateDatabaseIfNotExistsAsync(CancellationToken.None).Wait(); } if (identityOptions.Stores.MigrateOnStartup) { runner.MigrateUp(CancellationToken.None); } }
//文本框改变事件 private void textBox1_TextChanged(object sender, EventArgs e) { DataTable dt1 = new DataTable(); if (Program.DB_SIGN == 0) { dt1 = SqliteOptions.CreateInstance().ExcuteSqlite("select * from t_DiagnosisTemplate where JP like '%" + textBox1.Text.Trim() + "%' order by DiagIndex DESC"); } else { dt1 = SqliteOptions_sql.CreateInstance().ExcuteSqlite("select * from t_DiagnosisTemplate where JP like '%" + textBox1.Text.Trim() + "%' order by DiagIndex DESC"); } gridControl1.DataSource = dt1; }
//添加 private void simpleButton1_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBox1.Text.Trim()) || string.IsNullOrEmpty(textBox2.Text.Trim())) { MessageBox.Show("模板名称或模板内容不能为空!"); return; } if (GetTheSameTemplate(textBox1.Text.Trim())) { MessageBox.Show("已存在相同的模板名称,请修改"); return; } DataTable dt_2 = null; if (Program.DB_SIGN == 0) { dt_2 = SqliteOptions.CreateInstance().ExcuteSqlite("select * from t_DiagnosisTemplate where ChildTypeName='" + textBox1.Text.Trim() + "'"); } else { dt_2 = SqliteOptions_sql.CreateInstance().ExcuteSqlite("select * from t_DiagnosisTemplate where ChildTypeName='" + textBox1.Text.Trim() + "'"); } if (dt_2.Rows.Count > 0) { MessageBox.Show("已存在相同模板名称的数据行,请重新命名模板名称!"); return; } if (MessageBox.Show("确定要添加此条数据吗?", "添加提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK) { bool AddFlag = true; if (Program.DB_SIGN == 0) { AddFlag = SqliteOptions.CreateInstance().SqliteAdd("INSERT INTO t_DiagnosisTemplate (ID,ChildTypeName,DiagnosisContent,JP,DiagIndex) VALUES ('" + Guid.NewGuid().ToString() + "','" + textBox1.Text.Trim() + "','" + textBox2.Text.Trim() + "','" + textBox3.Text.Trim() + "','0')"); } else { AddFlag = SqliteOptions_sql.CreateInstance().SqliteAdd("INSERT INTO t_DiagnosisTemplate (ID,ChildTypeName,DiagnosisContent,JP,DiagIndex) VALUES ('" + Guid.NewGuid().ToString() + "','" + textBox1.Text.Trim() + "','" + textBox2.Text.Trim() + "','" + textBox3.Text.Trim() + "','0')"); } if (AddFlag) { MessageBox.Show("添加成功!"); ZhenDuanTemplet_Form_Load(null, null); } } }
/// <summary> /// 获取数据源 /// </summary> /// <returns></returns> private DataTable GetQueueUp() { DataTable dt = new DataTable(); string sql = "select *,DATEDIFF('yyyy',Birthday,now) as Age from Tb_PatientInfo as p left join WaitingQueue w on p.PatientID=w.PatientID where w.CreateDate>=#" + DateTime.Now.ToShortDateString() + "# and w.CreateDate<#" + DateTime.Now.AddDays(1).ToShortDateString() + "# order by w.CreateDate asc"; if (ConfigHelper.DB_SIGN == 0) { dt = new SqliteOptions().ExcuteSqlite(sql); } else { sql = "select *,DATEDIFF(YEAR,cast(Birthday as datetime),GETDATE()) as Age from Tb_PatientInfo as p left join WaitingQueue w on p.PatientID=w.PatientID where w.CreateDate>='" + DateTime.Now.ToShortDateString() + "' and w.CreateDate<'" + DateTime.Now.AddDays(1).ToShortDateString() + "' order by w.CreateDate asc"; dt = new SqliteOptions_sql().ExcuteSqlite(sql); } return(dt); }
private void ZhenDuanTemplet_Form_Load(object sender, EventArgs e) { DataTable dt1 = null; string sql = "select * from t_DiagnosisTemplate order by DiagIndex DESC"; if (Program.DB_SIGN == 0) { dt1 = SqliteOptions.CreateInstance().ExcuteSqlite(sql); } else { dt1 = SqliteOptions_sql.CreateInstance().ExcuteSqlite(sql); } gridControl1.DataSource = dt1; gridControl1_Click(null, null); }
public PatientInfoForm(string patientId) { InitializeComponent(); _sqlite = new SqliteOptions(); _patientId = patientId; if (string.IsNullOrEmpty(patientId)) { btnMod.Visible = false; btnExit.Visible = false; } else { btnRead.Visible = false; btnSave.Visible = false; DisableControls(false); } }
//验证SQLITE中是否存在该记录 private bool IsDataExists(string tableName, string contidition) { bool sign = false; string sql = "select count(1) from " + tableName + " where " + contidition; SqliteOptions sqlite = new SqliteOptions(); DataTable dt = sqlite.ExcuteSqlite(sql); if (dt != null && dt.Rows.Count > 0) { int count = Convert.ToInt32(dt.Rows[0][0]); if (count > 0) { sign = true; } } return(sign); }
//判断模板名称是否已存在 bool GetTheSameTemplate(string templateName) { bool SameFlag = false; DataTable dt2 = null; if (Program.DB_SIGN == 0) { dt2 = SqliteOptions.CreateInstance().ExcuteSqlite("select ChildTypeName from t_DiagnosisTemplate where ChildTypeName='" + templateName + "'"); } else { dt2 = SqliteOptions_sql.CreateInstance().ExcuteSqlite("select ChildTypeName from t_DiagnosisTemplate where ChildTypeName='" + templateName + "'"); } if (dt2.Rows.Count > 0) { SameFlag = true; return(SameFlag); } return(SameFlag); }
/// <summary> /// 更新判读结果 /// </summary> /// <param name="applicationId"></param> /// <param name="beginTime"></param> /// <param name="diagnosis"></param> private void UpdateApplicationDiagnosis(string applicationId, DateTime beginTime, string diagnosis) { var so = new SqliteOptions(); string sql = string.Format("update tb_Application set InterpretationStatus='已判读' where ApplicationId='{0}'", applicationId); so.SqliteUpdate(sql); sql = string.Format("select * from Tb_Snapshot where ApplicationID='{0}'", applicationId); DataTable dso = so.ExcuteSqlite(sql); if (null != dso && dso.Rows.Count > 0) { sql = string.Format("update Tb_Snapshot set Diagnosis='{1}' where ApplicationID='{0}'", applicationId, diagnosis); so.SqliteUpdate(sql); } else { sql = string.Format(" insert into Tb_Snapshot(ID,ApplicationID,SnapshotTime,Diagnosis) Values('{0}','{1}','{2}','{3}')", Guid.NewGuid(), applicationId, beginTime.ToString("s"), diagnosis); so.SqliteAdd(sql); } }
//数据行点击 private void gridControl1_Click(object sender, EventArgs e) { if (gridView1.DataRowCount > 0) { string dcon = gridView1.GetFocusedRowCellValue("DiagnosisContent").ToString(); //模板内容 string ChildTypeName = gridView1.GetFocusedRowCellValue("ChildTypeName").ToString(); //模板名称 string XuHao = gridView1.GetFocusedRowCellValue("DiagIndex").ToString(); //模板排序下标 string ID = gridView1.GetFocusedRowCellValue("ID").ToString(); //模板ID int ReIndex = int.Parse(XuHao) + 1; if (Program.DB_SIGN == 0) { SqliteOptions.CreateInstance().SqliteUpdate("update t_DiagnosisTemplate set DiagIndex='" + ReIndex + "' where ID='" + ID + "'"); } else { SqliteOptions_sql.CreateInstance().SqliteUpdate("update t_DiagnosisTemplate set DiagIndex='" + ReIndex + "' where ID='" + ID + "'"); } DiagnosisShow_Form_Load(null, null); TemplateEvent(dcon, null); } }
//转换数据 public void TranslateData() { if (File.Exists(Application.StartupPath + "\\EcgView.dll") && File.Exists(Application.StartupPath + "\\EcgView2.dll")) { try { AccessOptions aoc = new AccessOptions(); DataTable patients = aoc.ExcuteSqlite("select * from Tb_PatientInfo"); SqliteOptions sq = new SqliteOptions(); DateTime defaultDate = new DateTime(2012, 2, 15); if (patients != null && patients.Rows.Count > 0) { foreach (DataRow dr in patients.Rows) { #region 插入患者 string CaseID = dr["CaseID"] != DBNull.Value ? dr["CaseID"].ToString() : ""; string RoomNum = dr["RoomNum"] != DBNull.Value ? dr["RoomNum"].ToString() : ""; string PBedNum = dr["PBedNum"] != DBNull.Value ? dr["PBedNum"].ToString() : ""; string cd = dr["CreateDate"] != DBNull.Value ? Convert.ToDateTime(dr["CreateDate"]).ToString("s") : defaultDate.ToString("s"); sq.SqliteAdd("INSERT INTO [Tb_PatientInfo]([ID],[PatientName],[Gender],[Birthday],[PatientID],[PatientIdType],[Remark],[CreateDate],[P_Id],[Area],CaseID,RoomNum,PBedNum)VALUES('" + dr["ID"].ToString() + "','" + dr["PatientName"].ToString() + "','" + dr["Gender"].ToString() + "','" + dr["Birthday"].ToString() + "','" + dr["PatientID"].ToString() + "','" + dr["PatientIdType"].ToString() + "','" + dr["Remark"].ToString() + "','" + cd + "','" + dr["P_Id"].ToString() + "','" + dr["Area"].ToString() + "','" + CaseID + "','" + RoomNum + "','" + PBedNum + "')"); #endregion #region 插入合同与数据、快照、自动分析、远程报告名称 DataTable apps = aoc.ExcuteSqlite("Select distinct WardshipId,PatientID,ApplicationID,Status,CreateDate,InterpretationStatus from data_packs where PatientID='" + dr["PatientID"].ToString() + "'"); if (apps != null && apps.Rows.Count > 0) { foreach (DataRow app in apps.Rows) { string cdate = app["CreateDate"] != DBNull.Value ? Convert.ToDateTime(app["CreateDate"]).ToString("s") : defaultDate.ToString("s"); sq.SqliteAdd("insert into tb_application(ApplicationID,PatientID,Status,InterpretationStatus,CreateDate,wardshipId) values('" + app["ApplicationID"].ToString() + "','" + app["PatientID"].ToString() + "','" + app["Status"].ToString() + "','" + app["InterpretationStatus"].ToString() + "','" + cdate + "','" + app["wardshipId"].ToString() + "')"); //以上是申请,一下是心电数据 DataTable dps = aoc.ExcuteSqlite("Select ApplicationID,beginTime,pureData,dataSizePerLead,EcgFilter from data_packs where PatientID='" + app["PatientID"].ToString() + "' and ApplicationID='" + app["ApplicationID"].ToString() + "'"); if (dps != null && dps.Rows.Count > 0) { foreach (DataRow dp in dps.Rows) { SQLiteParameter sqp = new SQLiteParameter("@Hospita", DbType.Binary); sqp.Value = (byte[])dp["pureData"]; sq.ExecuteSql("insert into data_packs(ApplicationID,beginTime,pureData,dataSizePerLead,EcgFilter) values('" + dp["ApplicationID"].ToString() + "','" + Convert.ToDateTime(dp["beginTime"]).ToString("s") + "',@Hospita,'" + dp["dataSizePerLead"].ToString() + "','" + dp["EcgFilter"].ToString() + "')", new SQLiteParameter[] { sqp }); } } #region 插入快照 DataTable snapshots = aoc.ExcuteSqlite("Select * from Tb_Snapshot where PatientID='" + app["PatientID"].ToString() + "' and wardshipId='" + app["wardshipId"].ToString() + "'"); if (snapshots != null && snapshots.Rows.Count > 0) { foreach (DataRow s in snapshots.Rows) { string strType = string.Empty; try { strType = s["Type"].ToString(); } catch { } sq.SqliteAdd("insert into tb_snapshot(ID,ApplicationID,SnapshotTime,Diagnosis,Type) values('" + s["ID"].ToString() + "','" + app["ApplicationID"].ToString() + "','" + Convert.ToDateTime(s["SnapshotTime"]).ToString("s") + "','" + s["Diagnosis"].ToString() + "','" + strType + "')"); } } #endregion #region 插入自动分析 DataTable autoDiagnosis = aoc.ExcuteSqlite("Select ID,wardshipId,PatientID,SnapshotTime,P,P_R,QRS,QT_QTC,QRSDZ,RV5_SV1,BMP from AutoDiagnosis where PatientID='" + app["PatientID"].ToString() + "' and wardshipId='" + app["wardshipId"].ToString() + "'"); if (autoDiagnosis != null && autoDiagnosis.Rows.Count > 0) { foreach (DataRow ad in autoDiagnosis.Rows) { sq.SqliteAdd("INSERT INTO [AutoDiagnosis]([ID],[ApplicationID],[SnapshotTime],[P],[P_R],[QRS],[QT_QTC],[QRSDZ],[RV5_SV1],[BMP]) VALUES('" + ad["ID"].ToString() + "','" + app["ApplicationID"].ToString() + "','" + Convert.ToDateTime(ad["SnapshotTime"]).ToString("s") + "','" + ad["P"].ToString() + "','" + ad["P_R"].ToString() + "','" + ad["QRS"].ToString() + "','" + ad["QT_QTC"].ToString() + "','" + ad["QRSDZ"].ToString() + "','" + ad["RV5_SV1"].ToString() + "','" + ad["BMP"].ToString() + "')"); } } #endregion #region 插入报告名称 DataTable rts = aoc.ExcuteSqlite("Select * from Tb_ReportTitle where PatientID='" + app["PatientID"].ToString() + "' and wardshipId='" + app["wardshipId"].ToString() + "'"); if (rts != null && rts.Rows.Count > 0) { foreach (DataRow rt in rts.Rows) { string ldept = string.Empty; string sdept = string.Empty; try { ldept = rt["LastDept"].ToString(); sdept = rt["SecondDept"].ToString(); } catch { } sq.SqliteAdd("insert into Tb_ReportTitle (ID,ReportTitleName,CreateTime,[ApplicationID],[FirstUser],[SecondUser],[LastUser],[LastDept],[SecondDept]) values ('" + rt["ID"].ToString() + "','" + rt["ReportTitleName"].ToString() + "','" + Convert.ToDateTime(rt["CreateTime"]).ToString("s") + "','" + app["ApplicationID"].ToString() + "','" + rt["FirstUser"].ToString() + "','" + rt["SecondUser"].ToString() + "','" + rt["LastUser"].ToString() + "','" + ldept + "','" + sdept + "')"); } } #endregion } } #endregion } #region 插入病房和病室 DataTable rooms = aoc.ExcuteSqlite("select ID,PatientRoomName from PatientRooms"); if (rooms != null && rooms.Rows.Count > 0) { foreach (DataRow r in rooms.Rows) { if (!IsDataExists("PatientRooms", "PatientRoomName='" + r["PatientRoomName"].ToString() + "'")) { sq.SqliteAdd("insert into PatientRooms(ID,PatientRoomName) values('" + r["ID"].ToString() + "','" + r["PatientRoomName"].ToString() + "')"); } } } DataTable beds = aoc.ExcuteSqlite("select ID,PatientBedName from PatientBeds"); if (beds != null && beds.Rows.Count > 0) { foreach (DataRow b in beds.Rows) { if (!IsDataExists("PatientBeds", "PatientBedName='" + b["PatientBedName"].ToString() + "'")) { sq.SqliteAdd("insert into PatientBeds(ID,PatientBedName) values('" + b["ID"].ToString() + "','" + b["PatientBedName"].ToString() + "')"); } } } #endregion #region 插入科室和默认报告名称、医生 DataTable depts = aoc.ExcuteSqlite("Select ID,SectionName,ActiveSection,CreateDateTime from Tb_Section"); if (depts != null && depts.Rows.Count > 0) { foreach (DataRow d in depts.Rows) { if (!IsDataExists("Tb_Section", "SectionName='" + d["SectionName"].ToString() + "'")) { sq.SqliteAdd("insert into Tb_Section(ID,SectionName,ActiveSection,CreateDateTime) values('" + d["ID"].ToString() + "','" + d["SectionName"].ToString() + "','" + d["ActiveSection"].ToString() + "','" + Convert.ToDateTime(d["CreateDateTime"]).ToString("s") + "')"); } } } DataTable doctors = aoc.ExcuteSqlite("Select ID,DoctorName,ActiveDoctor,CreateDateTime from Tb_Doctor"); if (doctors != null && doctors.Rows.Count > 0) { foreach (DataRow d in doctors.Rows) { if (!IsDataExists("Tb_Doctor", "DoctorName='" + d["DoctorName"].ToString() + "'")) { sq.SqliteAdd("insert into Tb_Doctor(ID,DoctorName,ActiveDoctor,CreateDateTime) values('" + d["ID"].ToString() + "','" + d["DoctorName"].ToString() + "','" + d["ActiveDoctor"].ToString() + "','" + Convert.ToDateTime(d["CreateDateTime"]).ToString("s") + "')"); } } } string sql = "select count(1) from Tb_ReportTitle where ApplicationID is null"; DataTable dt = sq.ExcuteSqlite(sql); if (dt != null && dt.Rows.Count > 0) { DataTable titles = aoc.ExcuteSqlite("Select * from Tb_ReportTitle where PatientID is null"); if (titles != null && titles.Rows.Count > 0) { int count = Convert.ToInt32(dt.Rows[0][0]); if (count == 0) { foreach (DataRow rt in titles.Rows) { sq.SqliteAdd("insert into Tb_ReportTitle (ID,ReportTitleName,CreateTime) values ('" + rt["ID"].ToString() + "','" + rt["ReportTitleName"].ToString() + "','" + Convert.ToDateTime(rt["CreateTime"]).ToString("s") + "')"); } } } } #endregion try { File.Delete(Application.StartupPath + "\\EcgView.dll"); } catch { } } } catch (Exception ex) { FileInfo info = new FileInfo(Application.StartupPath + "\\EcgView.dll"); try { info.MoveTo(Application.StartupPath + "\\EcgView20130722.dll"); } catch { } } } }
public SqliteMonitoringApi(IOptions <SqliteOptions> options, IStorageInitializer initializer) { _options = options.Value ?? throw new ArgumentNullException(nameof(options)); _pubName = initializer.GetPublishedTableName(); _recName = initializer.GetReceivedTableName(); }
public MigrationRunner(string connectionString, SqliteOptions options) { _connectionString = connectionString; _options = options; }