internal void UpdateTaskProcessState2(string md5, bool isProcessed, bool isProcessing, int resultCode, string resultDescription) { if (String.IsNullOrEmpty(md5)) { return; } var sql = @" update sm_fileinfo set ResultCode=@ResultCode, ResultDescription=@ResultDescription, LastProcessTime=@LastProcessTime, ProcessCount=ProcessCount+1, IsProcessed=@IsProcessed, IsProcessing=@IsProcessing where `Md5`=@Md55" ; using (DbCommand cmd = DbInstance.GetSqlStringCommand(sql)) { DbInstance.AddInParameter(cmd, "ResultCode", DbType.Int64, resultCode); DbInstance.AddInParameter(cmd, "ResultDescription", DbType.String, resultDescription); DbInstance.AddInParameter(cmd, "LastProcessTime", DbType.DateTime, DateTime.Now); DbInstance.AddInParameter(cmd, "IsProcessed", DbType.Boolean, isProcessed); DbInstance.AddInParameter(cmd, "IsProcessing", DbType.Boolean, isProcessing); DbInstance.AddInParameter(cmd, "Md55", DbType.String, md5); DbInstance.ExecuteNonQuery(cmd); } }
internal void UpdateTaskProcessState2(long id, bool isProcessed, bool isProcessing, int resultCode, string resultDescription) { var sql = @" update sm_fileinfo set ResultCode=@ResultCode, ResultDescription=@ResultDescription, LastProcessTime=@LastProcessTime, ProcessCount=ProcessCount+1, IsProcessed=@IsProcessed, IsProcessing=@IsProcessing where id=@id" ; using (DbCommand cmd = DbInstance.GetSqlStringCommand(sql)) { DbInstance.AddInParameter(cmd, "ResultCode", DbType.Int64, resultCode); DbInstance.AddInParameter(cmd, "ResultDescription", DbType.String, resultDescription); DbInstance.AddInParameter(cmd, "LastProcessTime", DbType.DateTime, DateTime.Now); DbInstance.AddInParameter(cmd, "IsProcessed", DbType.Boolean, isProcessed); DbInstance.AddInParameter(cmd, "IsProcessing", DbType.Boolean, isProcessing); DbInstance.AddInParameter(cmd, "id", DbType.Int64, id); DbInstance.ExecuteNonQuery(cmd); } }
internal void Insert(FileTaskInfo fileTaskInfo) { var sql = "insert into sm_fileinfo (`Md5`,`FileFullPath`,`CorpId`,`FileUploadTime`) value (@Md55,@FileFullPath,@CorpId,@FileUploadTime)"; using (DbCommand cmd = DbInstance.GetSqlStringCommand(sql)) { DbInstance.AddInParameter(cmd, "Md55", DbType.String, fileTaskInfo.Md5); DbInstance.AddInParameter(cmd, "FileFullPath", DbType.String, fileTaskInfo.FileFullPath); DbInstance.AddInParameter(cmd, "FileUploadTime", DbType.DateTime, fileTaskInfo.FileUploadTime); DbInstance.AddInParameter(cmd, "CorpId", DbType.Int64, fileTaskInfo.CorpId); DbInstance.ExecuteNonQuery(cmd); } }
internal void UpdateTaskProcessState3( string md5, bool isProcessed, bool isProcessing, int resultCode, string resultDescription, AppraiseResult result, double confidence, double hot_score, double normal_score, double porn_score ) { if (String.IsNullOrEmpty(md5)) { return; } var sql = @" update sm_fileinfo set ResultCode=@ResultCode, ResultDescription=@ResultDescription, LastProcessTime=@LastProcessTime, ProcessCount=ProcessCount+1, IsProcessed=@IsProcessed, IsProcessing=@IsProcessing, Result=@Result, Confidence=@Confidence, Hot_score=@Hot_score, Normal_score=@Normal_score, Porn_score=@Porn_score where `Md5`=@Md55" ; using (DbCommand cmd = DbInstance.GetSqlStringCommand(sql)) { DbInstance.AddInParameter(cmd, "ResultCode", DbType.Int64, resultCode); DbInstance.AddInParameter(cmd, "ResultDescription", DbType.String, resultDescription); DbInstance.AddInParameter(cmd, "LastProcessTime", DbType.DateTime, DateTime.Now); DbInstance.AddInParameter(cmd, "IsProcessed", DbType.Boolean, isProcessed); DbInstance.AddInParameter(cmd, "IsProcessing", DbType.Boolean, isProcessing); DbInstance.AddInParameter(cmd, "Md55", DbType.String, md5); DbInstance.AddInParameter(cmd, "Result", DbType.Byte, result); DbInstance.AddInParameter(cmd, "Confidence", DbType.Double, confidence); DbInstance.AddInParameter(cmd, "Hot_score", DbType.Double, hot_score); DbInstance.AddInParameter(cmd, "Normal_score", DbType.Double, normal_score); DbInstance.AddInParameter(cmd, "Porn_score", DbType.Double, porn_score); DbInstance.ExecuteNonQuery(cmd); } }
public void Insert(object obj, bool includeIdetityColumnInSql) { BaseEntity baseEntity = obj as BaseEntity; if (baseEntity != null) { if (string.IsNullOrEmpty(baseEntity.EnabledFlag)) { //插入时如果EnabledFlag为空,则默认为Y baseEntity.EnabledFlag = "Y"; } } #region 创建列集合 TableMetaData table = MetaDataCacheManager.GetTableMetaData(obj.GetType()); List <string> columnNames = new List <string>(); List <object> columnValues = new List <object>(); List <DbType> columnDbTypes = new List <DbType>(); if (table.PKColumn != null) { if (table.PKColumn.ColumnCategory != Category.IdentityKey || includeIdetityColumnInSql) { //当存在非自动增长的主键,或者存在自动增长主键,但需要在insert语句中包含指定的列时 columnNames.Add(table.PKColumn.ColumnName); columnValues.Add(table.PKColumn.PropertyAccessor.GetValue(obj)); columnDbTypes.Add(GetDbType(table.PKColumn.PropertyType)); } } if (table.VersionColumn != null) { #region 处理版本控制列 columnNames.Add(table.VersionColumn.ColumnName); //Version列赋初值 object versionValue; if (table.VersionColumn.PropertyType == typeof(DateTime)) { DateTime dt = DateTime.Now; versionValue = new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second); } else if (table.VersionColumn.PropertyType == typeof(Int32)) { versionValue = 1; } else if (table.VersionColumn.PropertyType == typeof(Int64)) { versionValue = (long)1; } else { throw new MappingException(string.Format("实体类型{0}中的Version列{1}的数据类型无效", obj.GetType().Name, table.VersionColumn.ColumnName)); } table.VersionColumn.PropertyAccessor.SetValue(obj, versionValue); columnValues.Add(versionValue); columnDbTypes.Add(GetDbType(table.VersionColumn.PropertyType)); #endregion } foreach (ColumnMetaData column in table.NormalColumns) { columnNames.Add(column.ColumnName); columnValues.Add(column.PropertyAccessor.GetValue(obj)); columnDbTypes.Add(GetDbType(column.PropertyType)); } #endregion #region 生成Insert Command string format = "Insert Into {0}({1}) Values({2});"; StringBuilder tempNames = new StringBuilder(); StringBuilder tempParamNames = new StringBuilder(); foreach (string columnName in columnNames) { tempNames.Append(columnName).Append(","); tempParamNames.Append("@").Append(columnName).Append(","); } tempNames.Remove(tempNames.Length - 1, 1); tempParamNames.Remove(tempParamNames.Length - 1, 1); DbCommand dbCommand = _DbInstance.GetSqlStringCommand(string.Format(format, table.TableName, tempNames.ToString(), tempParamNames.ToString())); for (int i = 0; i < columnNames.Count; i++) { _DbInstance.AddInParameter(dbCommand, "@" + columnNames[i], columnDbTypes[i], TransformToSqlParamValue(columnValues[i])); } #endregion //执行sql命令 try { _DbInstance.ExecuteNonQuery(dbCommand); } catch (Exception ex) { throw new SqlException(ex.Message, LogHelper.GetSqlString(dbCommand), ex); } //取回标识值 if (table.PKColumn != null && table.PKColumn.ColumnCategory == Category.IdentityKey && !includeIdetityColumnInSql) { object newIdValue = _DbInstance.ExecuteScalar(CommandType.Text, "SELECT CAST(@@IDENTITY as bigint) as value"); table.PKColumn.PropertyAccessor.SetValue(obj, TransformToObjValueFromDb(newIdValue, table.PKColumn.PropertyType)); } }