+ Ответить в теме
Показано с 1 по 7 из 7

Тема: Создать и получить GUID

  1. #1
    dummy user19 is on a distinguished road
    Регистрация
    16.02.2018
    Возраст
    20
    Сообщений
    4
    Вес репутации
    0

    Thumbs down Создать и получить GUID

    Господа, прошу помощи. Я немного далек от IT,поэтому если что то не так скажу не пинайте сильно...
    Суть дела- коллега попросила подменить ее на время отпуска, я женщине отказать не в силах, согласился, тем более "дел то там на полчаса"©
    Суть того что меня просят сделать- вносить информацию в специальную программу. В день порядка 80-100 записей.У коллеги рука набита и у нее действительно получается все сделать быстро (не за пол часа конечно, но все же))- прокликать по многочисленным окошкам, поставить нужные галочки и ввести нужные коды... Вот "чешу репу", я со своими кривыми руками делать это буду весь день.
    После предварительного осмотра будующего места работы выяснил:
    ПО взаимодействует с БД, которая живет в SQL сервере на этом же ПК. В это ПО вносятся данные по продукции- размеры, вес, материал, марка стали и тп. Дальше там оно че то считает и потом выставляет счета в конце месяца.
    В программе этой есть функция экспорт/импорт. Т.к. по большому счету каждый день вносятся одно и тоже, сделал экспорт того что вносилось вчера- в итоге получил файл в формате .dbf
    Открыл экселем, там таблица со множеством столбцов-как раз все те галочки и размеры которые и нужно вносить.В столбце изменил дату на текущую пытался обратно импортировать этот файл но эффекта это не дало. Как я понял первый столбец в этом файле - это GUID, который присвоен каждой записи, который создается в БД при внесении данных из ПО. Если я правильно понял то проблема именно в том что при импорте исправленного файла т.к. GUID такой уже есть базе, он просто затирает старые данные новыми. Т.е. мне нужно создать сначала новые GUID, для каждой новой записи в БД, затем получить как то значения этих GUID которые только что внес, вставить эти значения в столбец и попробовать заново импортировать файл и тогда (как я думаю) записи появятся в ПО и мне не нужно будет их забивать в ручную.
    Объяснил как смог) Ребят, спасайте.

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
  3. #2
    dummy user19 is on a distinguished road
    Регистрация
    16.02.2018
    Возраст
    20
    Сообщений
    4
    Вес репутации
    0

    По умолчанию Re: Создать и получить GUID

    В БД есть таблица которая называется GUID, как я понимаю в нее нужно добавлять эти айди.

  4. #3
    Moderator Куратор
    system architect
    Absurd is on a distinguished road
    Регистрация
    26.02.2004
    Адрес
    Pietari, Venäjä
    Возраст
    38
    Сообщений
    1,213
    Вес репутации
    17

    По умолчанию Re: Создать и получить GUID

    GUID это глобальный уникальный идентификатор на базе MAC-адреса сетевой карты и текущей метки времени. Он, помимо всего прочего, нужен для регистрации некоторых компонентов Windows. В Windows API есть специальная функция CoCreateGuid(). Программисты пользуются маленькой программой guidgen, которая написана поверх этой API функции и входит в вижуал студию и многие другие средства разработки под Windows. Правда не знаю где можно скачать эту программу отдельно от вижуал студии.
    2B OR NOT(2B) = FF

  5. #4
    dummy user19 is on a distinguished road
    Регистрация
    16.02.2018
    Возраст
    20
    Сообщений
    4
    Вес репутации
    0

    По умолчанию Re: Создать и получить GUID

    Цитата Сообщение от Absurd Посмотреть сообщение
    GUID это глобальный уникальный идентификатор на базе MAC-адреса сетевой карты и текущей метки времени. Он, помимо всего прочего, нужен для регистрации некоторых компонентов Windows. В Windows API есть специальная функция CoCreateGuid(). Программисты пользуются маленькой программой guidgen, которая написана поверх этой API функции и входит в вижуал студию и многие другие средства разработки под Windows. Правда не знаю где можно скачать эту программу отдельно от вижуал студии.
    Т.е. sql запросом к БД создать GUID невозможно?

  6. #5
    Moderator Куратор
    system architect
    Absurd is on a distinguished road
    Регистрация
    26.02.2004
    Адрес
    Pietari, Venäjä
    Возраст
    38
    Сообщений
    1,213
    Вес репутации
    17

    По умолчанию Re: Создать и получить GUID

    Цитата Сообщение от user19 Посмотреть сообщение
    Т.е. sql запросом к БД создать GUID невозможно?
    Как-то не подумал о такой возможности. В MSSQL есть функция NEWID()

    https://social.msdn.microsoft.com/Fo...=sqlgetstarted
    2B OR NOT(2B) = FF

  7. #6
    dummy user19 is on a distinguished road
    Регистрация
    16.02.2018
    Возраст
    20
    Сообщений
    4
    Вес репутации
    0

    По умолчанию Re: Создать и получить GUID

    Цитата Сообщение от Absurd Посмотреть сообщение
    Как-то не подумал о такой возможности. В MSSQL есть функция NEWID()

    https://social.msdn.microsoft.com/Fo...=sqlgetstarted
    Спасибо за ссылку.
    т.е. в моем случае получается:
    Есть БД, в ней таблица "MyUniqueTable", в ней столбец NEWID.
    Вот так вставляю новый GUID в таблицу MyUniqueTable в столбец NEWID.
    INSERT INTO MyUniqueTable VALUES (NEWID(), 'def')
    А как вставить к примеру сразу 60 значений? И как потом эти значения получить?

  8. #7
    Moderator Куратор
    system architect
    Absurd is on a distinguished road
    Регистрация
    26.02.2004
    Адрес
    Pietari, Venäjä
    Возраст
    38
    Сообщений
    1,213
    Вес репутации
    17

    По умолчанию Re: Создать и получить GUID

    Цитата Сообщение от user19 Посмотреть сообщение
    Спасибо за ссылку.
    т.е. в моем случае получается:
    Есть БД, в ней таблица "MyUniqueTable", в ней столбец NEWID.
    Вот так вставляю новый GUID в таблицу MyUniqueTable в столбец NEWID.
    INSERT INTO MyUniqueTable VALUES (NEWID(), 'def')
    А как вставить к примеру сразу 60 значений? И как потом эти значения получить?
    Насколько я понимаю принцип программирования под MSSQL, чтобы вернуть из хранимой процедуры какой-то резалтсет (типа пачки GUID-ов) хранимая процедура должна просто выполнять оператор SELECT. Получается что вам надо создать временную таблицу (они начинаются со знака '#' и существуют только в пределах текущей сессии), FOR-циклом вставить в нее 60 значений, сделать SELECT из этой таблицы и после этого ее дропнуть.
    2B OR NOT(2B) = FF

+ Ответить в теме

Похожие темы

  1. Как получить из bmp bin файл
    Здравствуйте уважаемые участники форума. Подскажите,пожалуйста, как перевести файл из формата bmp в bin. (Картинка bmp 16x16).
    от Viktor Zull в разделе Вопрошайка
  2. Где же GUID?
    Делаю плагин для IE на ATL - в примере написано, что для регистрации плагина надо прописать его в реестре <key root>\Software\Microsoft\Internet...
    от AlexDav в разделе Win API, Shell..
  3. Как получить SID пользователя
    Доброго времени суток Помогите плиз. Подскажите какие функции Win API существуют для получения SID из БД SAM. Оччень нужно!
    от Severyanin в разделе Win API, Shell..
  4. как получить html код?
    Подскажите, как из PHP получить html-код заданной страницы? Спасибо.
    от sl45 в разделе Perl, PHP, ASP ...
  5. Как получить имя устройства?
    Народ, подскажите, пожалуйста, в чем проблема. Я пытаюсь стандартным образом получить "символическое имя устройства". Вот точный текст (guid...
    от markil в разделе C и C++

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения