Страница 3 из 3

Re: Обновление записи в базе данных

Добавлено: 26 июл 2019, 16:07
Artem.spb
Именно так я сейчас и сделала, но хотелось бы качества.. Там ведь копируестя весь контрол включая label (если она видна).
что мешает сделать sub, в котором есть котнрол нужного размера и вида?
А уж обрезать по краям пару пикселов - простейшая операция.
Если она вдруг не простейшая, то вот
img.png
img.png (24.16 КБ) 2536 просмотров
...отказаться от MS Access в пользу других БД. ....возможность работы с БД при помощи NI Database Toolkit. Спасибо
Почему именно NI Database Toolkit?
Планируется универсальность и переход от одного движка к другому? А данных и запросов в секунду будет море?
Если нет, и данных не очень много, то мой выбор SQLite. И бесплатно, и сервак поднимать не нужно. Только для работы нужен отдельный тулкит (бесплатно в VIPM)

Если прям сервак хочется, то конкретно советовать и не советовать ничего не буду. И с дельфином работал, и мелкософтом пользовался, и к китайскому алибабе подключался. Глюков катастрофических не замечал
мои робкие попытки убеждить руководство о покупки NI Vision успехом не увенчались :(
платить 4600 за модуль, а потом ещё 500 за рабочую лицензию ради ресайза картинок? :shok: Да у вас богатая контра.

Re: Обновление записи в базе данных

Добавлено: 26 июл 2019, 16:09
Artem.spb
но малый набор типов данных полей
Как таковых типов данных там вообще нет.
Указывают его исключительно для смотрелок, чтобы они знали, в каком виде показать пользователю эти 0-1-0-1

Re: Обновление записи в базе данных

Добавлено: 26 июл 2019, 20:33
dadreamer
jane_wild писал(а):
dadreamer писал(а):До кучи, способ ресайза через WinAPI: https://stackoverflow.com/questions/428 ... stretchblt
За основу можно взять этот :vi: (85% там уже готово): http://labviewportal.org/viewtopic.php?p=64756#p64756 Заменить функцию BitBlt на StretchBlt, возможно создать ещё один доп. контекст (dc), загрузить в него bitmap - в принципе, это всё.
Честно пыталась - ничего не получаестя. Как по прототипу указать правильные параметры, а потом их еще и правильно подсоединить...
Если всё ещё нужно, то вот.
Stretch Image (WinAPI).rar
lv2016
(76.83 КБ) 111 скачиваний

Re: Обновление записи в базе данных

Добавлено: 27 июл 2019, 20:04
jane_wild
dadreamer, WOW! Определенно в копилку! Огромнейшее спасибо, то что нужно. А так же спасибо что делитесь знаниями без лишних вопросов.

Re: Обновление записи в базе данных

Добавлено: 27 июл 2019, 20:50
jane_wild
А с каких это пор MS Access бесплатной стала?
Данную СУБД в некоторых случаях удобно использовать, в плане переносимости - одним файлом, но по хорошему, для просмотра необходим MS Office.
Дело в том что лицензированный MS Office установлен в каждом компьютере, где планируется использовать БД, но это на случай если LV программа откажется по каким то причинам работать. Поэтому первоначальный выбор пал на Access. Нашла в интернете manual по работе с NI Database toolkit, правда датированный 2008 годом, вот сижу изучаю.
Так как я не IT-шница задам наверное глупый вопрос, и все же... Задача следующая: группа из 10 человек, каждый из своего PC должен иметь доступ к БД, запросы будут редкими, поэтому можно сказать нагрузка будет практически нулевой. Есть сервер. Доступ к расшаренным папкам которого есть у каждого юзера, вот в одной из таких папок и планируется разметить БД. Но буква диска этого сервера отличается у разных компьютеров, поэтому путь к моей БД будет разный. Как поступить в данном случае? Сделать ini файл, хранить в нем этот путь и при запуске ехе приложения считывать его? Либо я чего то не понимаю....

Re: Обновление записи в базе данных

Добавлено: 27 июл 2019, 21:45
IvanLis
jane_wild писал(а): Есть сервер. Доступ к расшаренным папкам которого есть у каждого юзера, вот в одной из таких папок и планируется разметить БД. Но буква диска этого сервера отличается у разных компьютеров, поэтому путь к моей БД будет разный. Как поступить в данном случае? Сделать ini файл, хранить в нем этот путь и при запуске ехе приложения считывать его? Либо я чего то не понимаю....
Вам на каждом отдельно компьютере нужно создать UDL файл с информацией о подключении (либо прописать их в системе).
См. стр. 3-1 в выложенном руководстве.

Программа при подключении будет брать все настройки из него.
Т.е. программа статична, изменяются только настройки соединения в файле.

Re: Обновление записи в базе данных

Добавлено: 28 июл 2019, 14:39
ujin
Есть универсальный способ
1. На сервере поднять Postgresql сервер. Настроить доступы. Создать базу данный с нужными таблицами и полями
2. У клиентов определить набор файлов для работы библиотеки доступа pg_ctl- библиотека доступа к postgresql серверу. Можно просто установить pgsql_odbc и взять необходимые файлы из установленной папки.
3. Воспользоваться библиотеками для Labview с доступом к postgresql серверу через pg_ctl.

Способ универсальный, подходит для WIN_XP - WIN10, Linux. Для любых версий Labview.
Postgresql сервер бесплатный. Библиотеки pg_ctl бесплатные. NI Database Toolkit не нужен. Скорость точно не меньше чем через NI Database Toolkit.
Обновление будет в виде текстового SQL запроса вида UPDATE public."par" SET "value"=0.00000E+0 WHERE "fcode"='H1.EP.BT3' AND "fcodef"='XQ01';

Требуются знания как поднять, настроить, администрировать postgresql сервер, немного знаний как использовать вызовы dll в Labview и немного знания SQL.
Пользуюсь данным способом уже более 3 лет, есть готовые решения. Если заинтересует готов поделиться.

Re: Обновление записи в базе данных

Добавлено: 29 июл 2019, 18:07
Artem.spb
Есть универсальный способ
1. На сервере поднять Postgresql сервер.
и так вот, ненавязчиво, как бы не всколыхнуть волну споров, каждый продвигает свою любимую СУБД :)

Re: Обновление записи в базе данных

Добавлено: 30 июл 2019, 16:03
jane_wild
Вам на каждом отдельно компьютере нужно создать UDL файл с информацией о подключении (либо прописать их в системе).
Так и сделала на двух PC создала UDL файлы, как описано здесь. При создания UDL нажимала кнопочки test connection, окошко говорило об успешном соединении с БД. Их содержимое получилось одинаковое, за исключением пути Data Source.

Код: Выделить всё

[oledb]
; Everything after this line is an OLE DB initstring
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\Projects\......\MyDB.accdb;Persist Security Info=False
Но столкнулась с неожиданным поведением - но одном PC (дома) работает на втором (на работе) нет, а конфигурация PC едентичная, за исключением самой ОС . На обоих PC c установленны LabVIEW 2016 а также MS Office 2016, на win10 работает, на win7 нет. Причем там где не работает, если использовать строку для подключения вместо UDL то все Ok . Не могу понять в чем причина. Выскакивает вот эта ошибка
DB_Error.PNG
ADO_Error.PNG