123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- using OTSCLRINTERFACE;
- using OTSDataType;
- using OTSModelSharp.DTLBase;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Data.SQLite;
- using System.Drawing;
- using System.Linq;
- namespace OTSModelSharp
- {
- public class CMergeParticleDB : CSQLiteDB
- {
- public CMergeParticleDB(IDBStoreBase _conStr, IDBTableBase _table) : base(_conStr, _table)
- {
-
- }
- public bool SaveAParticle( COTSParticleClr a_pParticle, CPosXrayClr a_pXray, System.Drawing.Point fldPos)
- {
- var tableInfoPtr = GetTableInfo();
- var datastorePtr = GetDatastore();
- Rectangle prec = (Rectangle)a_pParticle.GetParticleRect();
- System.Drawing.Point pos = (System.Drawing.Point)a_pParticle.GetSEMPos();
- String sInsertFormat = tableInfoPtr.GetInsertCommandFormatString(true);
- var cmd = tableInfoPtr.GetInsertCommand(true);
- var paras = cmd.Value;
- paras[0].Value = a_pParticle.GetFieldId();
- paras[1].Value = a_pParticle.GetAnalysisId();
- paras[2].Value = a_pParticle.GetAveGray();
- paras[3].Value = prec.Left;
- paras[4].Value = prec.Top;
- paras[5].Value = prec.Width;
- paras[6].Value = prec.Height;
- paras[7].Value = a_pParticle.GetActualArea();
- paras[8].Value = pos.X;
- paras[9].Value = pos.Y;
- paras[10].Value = a_pParticle.GetType();
- paras[11].Value = a_pXray.GetElementQuantifyData().Count;
- paras[12].Value = a_pParticle.GetFeature().GetSegmentsList().Count;
- paras[13].Value = fldPos.X;
- paras[14].Value = fldPos.Y;
- paras[15].Value = a_pParticle.GetParticleId();
- paras[16].Value = a_pParticle.GetDMAX();
- paras[17].Value = a_pParticle.GetDMIN();
- paras[18].Value = a_pParticle.GetDMPERP();
- paras[19].Value = a_pParticle.GetDPRIMETER();
- paras[20].Value = a_pParticle.GetORIENTATION();
- paras[21].Value = a_pParticle.GetDINSCR();
- paras[22].Value = a_pParticle.GetDMEAN();
- paras[23].Value = a_pParticle.GetDELONG();
- paras[24].Value = a_pParticle.GetFeretDiameter();
- paras[25].Value = a_pParticle.GetTypeName();
- paras[26].Value = a_pParticle.GetTypeColor();
- paras[27].Value = a_pParticle.GetConnectedParticlesName();
- List<KeyValuePair<string, SQLiteParameter[]>> cmds = new List<KeyValuePair<string, SQLiteParameter[]>>();
- cmds.Add(cmd);
-
- datastorePtr.ExecuteNonQueryBatch(ref cmds);
-
-
- return true;
- }
- public bool UpdataAParticle( COTSParticleClr a_pParticle)
- {
- var tableInfoPtr = GetTableInfo();
- var datastorePtr = GetDatastore();
- String sSQLCommand = "Update IncAData \'{0}\' WHERE {1} = {2} AND {3} ={4} AND {5} ={6} AND {7} = {8};";
- sSQLCommand= String.Format(sSQLCommand,
- a_pParticle.GetAveGray(),
- a_pParticle.GetActualArea(),
- a_pParticle.GetType(),
- a_pParticle.GetFieldId(),
- a_pParticle.GetParticleId());
- //var helper = new SQLiteHelper(datastorePtr);
- if (datastorePtr.RunCommand(sSQLCommand) != true)
- {
- return false;
- }
- return true;
- }
-
- public DataTable GetQueryOfAllRecord()
- {
- DataTable query;
- var datastorePtr = GetDatastore();
-
- var tableInfoPtr = GetTableInfo();
- String sSQLCommand = "";
- String.Format("SELECT * FROM \'{0}\' WHERE {1} = {2} AND {3} ={4} AND {5} ={6} AND {7} = {8};",
- (String)tableInfoPtr.GetTableName());
- //var helper = datastorePtr;
-
- query = datastorePtr.QueryByCmdForDataTable(sSQLCommand); ;
-
- return query;
- }
- public DataTable GetQueryById( long a_nXrayId, long a_nFieldId)
- {
- DataTable query;
- var datastorePtr = GetDatastore();
- var tableInfoPtr = GetTableInfo();
-
- var sXrayIdColumnName = tableInfoPtr.GetColumnName((int)CMergeParticleTable.ColumnID.N_XRAY_ID - (int)CMergeParticleTable.ColumnID.MIN);
- var sFieldIdColumnName = tableInfoPtr.GetColumnName((int)CMergeParticleTable.ColumnID.N_FIELD_ID - (int)CMergeParticleTable.ColumnID.MIN);
- String sSQLCommand = "";
- String.Format("SELECT * FROM \'{0}\' WHERE {1} = {2} AND {3} ={4} AND {5} ={6} AND {7} = {8};",
- (String) tableInfoPtr.GetTableName(),
- sFieldIdColumnName,
- a_nFieldId,
- sXrayIdColumnName,
- a_nXrayId);
- //var helper = new SQLiteHelper(datastorePtr);
- query = datastorePtr.QueryByCmdForDataTable(sSQLCommand);
- return query;
- }
- public void DeleteDataByFieldNo(int fieldStartNo)
- {
- string sSQLCommand;
- var datastorePtr = GetDatastore();
- sSQLCommand = "delete * from MergedParticleInfo where FieldId>" + fieldStartNo.ToString();
- if (!datastorePtr.RunCommand(sSQLCommand))
- {
- return;
- }
- }
- }
- }
|