/// <summary> /// Opdaterer værdi på et givent felt. /// </summary> /// <param name="dbHandle">Databasehandle.</param> /// <param name="searchHandle">Searchhandle.</param> /// <param name="fieldName">Feltnavn.</param> /// <param name="value">Værdi.</param> protected void SetFieldValue(IDsiDbX dbHandle, int searchHandle, string fieldName, DateTime value) { if (dbHandle == null) { throw new ArgumentNullException("dbHandle"); } if (string.IsNullOrEmpty(fieldName)) { throw new ArgumentNullException("fieldName"); } var fieldType = dbHandle.GetFieldType(dbHandle.GetFieldNoByName(fieldName)); switch (fieldType) { case 3: SetFieldValue(dbHandle, searchHandle, fieldName, value.ToShortDateString()); break; case 4: SetFieldValue(dbHandle, searchHandle, fieldName, value.ToShortTimeString()); break; default: throw new DataAccessSystemException( Resource.GetExceptionMessage(ExceptionMessage.UnhandledSwitchValue, fieldType, "fieldType", MethodBase.GetCurrentMethod().Name)); } }
/// <summary> /// Henter dato værdi for et givent felt. /// </summary> /// <param name="dbHandle">Databasehandle.</param> /// <param name="searchHandle">Searchhandle.</param> /// <param name="fieldName">Feltnavn.</param> /// <returns>Datoværdi.</returns> protected DateTime?GetFieldValueAsDateTime(IDsiDbX dbHandle, int searchHandle, string fieldName) { var dateValue = GetFieldValueAsString(dbHandle, searchHandle, fieldName); if (string.IsNullOrEmpty(dateValue)) { return(null); } return(DateTime.Parse(dateValue)); }
/// <summary> /// Opdaterer værdi på et givent felt. /// </summary> /// <param name="dbHandle">Databasehandle.</param> /// <param name="searchHandle">Searchhandle.</param> /// <param name="fieldName">Feltnavn.</param> /// <param name="value">Værdi.</param> protected void SetFieldValue(IDsiDbX dbHandle, int searchHandle, string fieldName, string value) { if (dbHandle == null) { throw new ArgumentNullException("dbHandle"); } if (string.IsNullOrEmpty(fieldName)) { throw new ArgumentNullException("fieldName"); } dbHandle.SetFieldValue(searchHandle, dbHandle.GetFieldNoByName(fieldName), value); }
/// <summary> /// Henter streng værdi for et givent felt. /// </summary> /// <param name="dbHandle">Databasehandle.</param> /// <param name="searchHandle">Searchhandle.</param> /// <param name="fieldName">Feltnavn.</param> /// <returns>Strengværdi.</returns> protected string GetFieldValueAsString(IDsiDbX dbHandle, int searchHandle, string fieldName) { if (dbHandle == null) { throw new ArgumentNullException("dbHandle"); } if (string.IsNullOrEmpty(fieldName)) { throw new ArgumentNullException("fieldName"); } return(dbHandle.GetFieldValue(searchHandle, dbHandle.GetFieldNoByName(fieldName), false)); }
/// <summary> /// Opdaterer værdi på et givent felt. /// </summary> /// <param name="dbHandle">Databasehandle.</param> /// <param name="searchHandle">Searchhandle.</param> /// <param name="fieldName">Feltnavn.</param> /// <param name="value">Værdi.</param> protected void SetFieldValue(IDsiDbX dbHandle, int searchHandle, string fieldName, decimal value) { SetFieldValue(dbHandle, searchHandle, fieldName, value.ToString()); }
/// <summary> /// Henter decimal værdi for et givent felt. /// </summary> /// <param name="dbHandle">Databasehandle.</param> /// <param name="searchHandle">Searchhandle.</param> /// <param name="fieldName">Feltnavn.</param> /// <returns>Decimalværdi.</returns> protected decimal GetFieldValueAsDecimal(IDsiDbX dbHandle, int searchHandle, string fieldName) { return(decimal.Parse(GetFieldValueAsString(dbHandle, searchHandle, fieldName))); }
/// <summary> /// Henter integer værdi for et givent felt. /// </summary> /// <param name="dbHandle">Databasehandle.</param> /// <param name="searchHandle">Searchhandle.</param> /// <param name="fieldName">Feltnavn.</param> /// <returns>Integerværdi.</returns> protected int GetFieldValueAsInt(IDsiDbX dbHandle, int searchHandle, string fieldName) { return(int.Parse(GetFieldValueAsString(dbHandle, searchHandle, fieldName))); }
/// <summary> /// Henter næste unikke identifikation (integer). /// </summary> /// <param name="dbHandle">Databasehandle.</param> /// <param name="primaryKey">Navn på primary key (sortering af unik identifikation).</param> /// <param name="idFieldName">Navn på felt for unik identifikation.</param> /// <param name="keyInterval">Opsætning af eventuelt keyinterval.</param> /// <param name="searchLast">Angivelse af, om næste unikke identifikation skal beregnes på baggrund af sidste post i stedet for første post.</param> /// <returns>Næste unikke identifikation (integer).</returns> protected int GetNextUniqueIntId(IDsiDbX dbHandle, string primaryKey, string idFieldName, bool searchLast, string keyInterval) { if (dbHandle == null) { throw new ArgumentNullException("dbHandle"); } if (string.IsNullOrEmpty(primaryKey)) { throw new ArgumentNullException("primaryKey"); } if (string.IsNullOrEmpty(idFieldName)) { throw new ArgumentNullException("idFieldName"); } var databaseName = Path.GetFileNameWithoutExtension(Path.GetFileName(dbHandle.DbFile)); var searchHandle = dbHandle.CreateSearch(); try { if (!dbHandle.SetKey(searchHandle, primaryKey)) { throw new DataAccessSystemException(Resource.GetExceptionMessage(ExceptionMessage.CantSetKey, primaryKey, databaseName)); } if (!string.IsNullOrEmpty(keyInterval)) { if (!dbHandle.SetKeyInterval(searchHandle, keyInterval, keyInterval)) { throw new DataAccessSystemException( Resource.GetExceptionMessage(ExceptionMessage.CantSetKeyInterval, keyInterval, dbHandle.GetKeyNameByNo(dbHandle.GetCurKeyNo(searchHandle)), databaseName)); } } try { var nextNumber = 1; if (searchLast) { if (dbHandle.SearchLast(searchHandle)) { nextNumber = GetFieldValueAsInt(dbHandle, searchHandle, idFieldName) + 1; } } else if (dbHandle.SearchFirst(searchHandle)) { nextNumber = GetFieldValueAsInt(dbHandle, searchHandle, idFieldName) + 1; } return(nextNumber); } finally { if (!string.IsNullOrEmpty(keyInterval)) { dbHandle.ClearKeyInterval(searchHandle); } } } finally { dbHandle.DeleteSearch(searchHandle); } }
/// <summary> /// Henter næste unikke identifikation (integer). /// </summary> /// <param name="dbHandle">Databasehandle.</param> /// <param name="primaryKey">Navn på primary key (sortering af unik identifikation).</param> /// <param name="idFieldName">Navn på felt for unik identifikation.</param> /// <param name="searchLast">Angivelse af, om næste unikke identifikation skal beregnes på baggrund af sidste post i stedet for første post.</param> /// <returns>Næste unikke identifikation (integer).</returns> protected int GetNextUniqueIntId(IDsiDbX dbHandle, string primaryKey, string idFieldName, bool searchLast) { return(GetNextUniqueIntId(dbHandle, primaryKey, idFieldName, searchLast, null)); }