Программирование в IIS


Запись в базу данных - часть 2


Он генерирует уникальную строку ID только в том случае, если запрос выполняется через 1 с после предыдущего запроса ID. Для получения уникальных значений необходимы более приемлемые подходы, например, использование функции глобально уникального идентификатора Windows (GUID) или других самодельных функций с генератором случайных чисел. Этот недостаток не был устранен, чтобы класс clsChair стабильно генерировал ошибку при записи информации в базу данных. Ошибка возникает из-за того, что ID объекта "стул" является главным ключом в таблице базы данных, в которой находится информация об этом объекте. Запись строки, содержащей такое же значение ID, что и записанное ранее, приведет к ошибке обновления ADO.

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 'CreateNewID 'creates a new ID for a new chair ' 'in: nothing 'out: returns string ID for Chair '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Private Function CreateNewID() As String

Const NOW_TIME_FORMAT = "yyyymmddhhmmss"

Dim sDateTime As String

'get a time data stamp sDateTime = CStr(Format(Now, NOW_TIME_FORMAT)) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 'Note: This algorithm has a huge flaw. 'It does not create unique IDs if more than 'one is requested in a given second. '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

'return value CreateNewID = sDateTime

End Function

Листинг 1.8. Function CreateNewID

После генерации ID конструируется выражение SQL с использованием констант, являющихся частью выражения обновления SQL, с помощью которого новые данные записываются в базу данных. Использованное значение color в действительности является локальным значением m_scolor. Свойство color, как и me.color, можно (и нужно) использовать вместо локального значения m_scolor. Если свойство color нужно подтвердить или изменить из его текущего состояния в экземпляре класса, то оно пригодится для внесения небольшого изменения в код в единственном месте, однако в этом случае потребуется изменить код и в свойстве, и в функции при помощи переменной m_scolor.




Начало  Назад  Вперед



Книжный магазин