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

Простейшие вопросы в области инженерной разработки

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

Postby Artem.spb on 26 Jul 2019, 16:07

Именно так я сейчас и сделала, но хотелось бы качества.. Там ведь копируестя весь контрол включая label (если она видна).

что мешает сделать sub, в котором есть котнрол нужного размера и вида?
А уж обрезать по краям пару пикселов - простейшая операция.
Если она вдруг не простейшая, то вот
img.png
img.png (24.16 KiB) Viewed 487 times


...отказаться от MS Access в пользу других БД. ....возможность работы с БД при помощи NI Database Toolkit. Спасибо

Почему именно NI Database Toolkit?
Планируется универсальность и переход от одного движка к другому? А данных и запросов в секунду будет море?
Если нет, и данных не очень много, то мой выбор SQLite. И бесплатно, и сервак поднимать не нужно. Только для работы нужен отдельный тулкит (бесплатно в VIPM)

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

мои робкие попытки убеждить руководство о покупки NI Vision успехом не увенчались :(

платить 4600 за модуль, а потом ещё 500 за рабочую лицензию ради ресайза картинок? :shok: Да у вас богатая контра.
Artem.spb
expert
expert
 
Posts: 1628
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 263
CLD hardware I/O VIP freelance

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

Postby Artem.spb on 26 Jul 2019, 16:09

но малый набор типов данных полей

Как таковых типов данных там вообще нет.
Указывают его исключительно для смотрелок, чтобы они знали, в каком виде показать пользователю эти 0-1-0-1
Artem.spb
expert
expert
 
Posts: 1628
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 263
CLD hardware I/O VIP freelance

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

Postby dadreamer on 26 Jul 2019, 20:33

jane_wild wrote:
dadreamer wrote:До кучи, способ ресайза через WinAPI: https://stackoverflow.com/questions/428 ... stretchblt
За основу можно взять этот :vi: (85% там уже готово): viewtopic.php?p=64756#p64756 Заменить функцию BitBlt на StretchBlt, возможно создать ещё один доп. контекст (dc), загрузить в него bitmap - в принципе, это всё.

Честно пыталась - ничего не получаестя. Как по прототипу указать правильные параметры, а потом их еще и правильно подсоединить...

Если всё ещё нужно, то вот.
Stretch Image (WinAPI).rar
lv2016
(76.83 KiB) Downloaded 16 times
Attachments
2019-07-26_22-29-26.jpg
User avatar
dadreamer
professor
professor
 
Posts: 3303
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 844
I/O VIP vision internet

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

Postby jane_wild on 27 Jul 2019, 20:04

dadreamer, WOW! Определенно в копилку! Огромнейшее спасибо, то что нужно. А так же спасибо что делитесь знаниями без лишних вопросов.
User avatar
jane_wild
advanced
advanced
 
Posts: 153
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2016
Karma: 5

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

Postby jane_wild on 27 Jul 2019, 20:50

А с каких это пор MS Access бесплатной стала?
Данную СУБД в некоторых случаях удобно использовать, в плане переносимости - одним файлом, но по хорошему, для просмотра необходим MS Office.

Дело в том что лицензированный MS Office установлен в каждом компьютере, где планируется использовать БД, но это на случай если LV программа откажется по каким то причинам работать. Поэтому первоначальный выбор пал на Access. Нашла в интернете manual по работе с NI Database toolkit, правда датированный 2008 годом, вот сижу изучаю.
Так как я не IT-шница задам наверное глупый вопрос, и все же... Задача следующая: группа из 10 человек, каждый из своего PC должен иметь доступ к БД, запросы будут редкими, поэтому можно сказать нагрузка будет практически нулевой. Есть сервер. Доступ к расшаренным папкам которого есть у каждого юзера, вот в одной из таких папок и планируется разметить БД. Но буква диска этого сервера отличается у разных компьютеров, поэтому путь к моей БД будет разный. Как поступить в данном случае? Сделать ini файл, хранить в нем этот путь и при запуске ехе приложения считывать его? Либо я чего то не понимаю....
Attachments
DB_Manual.pdf
(681.59 KiB) Downloaded 12 times
User avatar
jane_wild
advanced
advanced
 
Posts: 153
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2016
Karma: 5

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

Postby IvanLis on 27 Jul 2019, 21:45

jane_wild wrote: Есть сервер. Доступ к расшаренным папкам которого есть у каждого юзера, вот в одной из таких папок и планируется разметить БД. Но буква диска этого сервера отличается у разных компьютеров, поэтому путь к моей БД будет разный. Как поступить в данном случае? Сделать ini файл, хранить в нем этот путь и при запуске ехе приложения считывать его? Либо я чего то не понимаю....


Вам на каждом отдельно компьютере нужно создать UDL файл с информацией о подключении (либо прописать их в системе).
См. стр. 3-1 в выложенном руководстве.

Программа при подключении будет брать все настройки из него.
Т.е. программа статична, изменяются только настройки соединения в файле.
User avatar
IvanLis
professor
professor
 
Posts: 4815
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2015, 2016
Karma: 763
hardware VIP bloggers teachers

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

Postby ujin on 28 Jul 2019, 14:39

Есть универсальный способ
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 лет, есть готовые решения. Если заинтересует готов поделиться.
ujin
beginner
beginner
 
Posts: 19
Joined: 28 Jul 2019, 13:16
LabVIEW Version: 15
Karma: 4

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

Postby Artem.spb on 29 Jul 2019, 18:07

Есть универсальный способ
1. На сервере поднять Postgresql сервер.


и так вот, ненавязчиво, как бы не всколыхнуть волну споров, каждый продвигает свою любимую СУБД :)
Artem.spb
expert
expert
 
Posts: 1628
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 263
CLD hardware I/O VIP freelance

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

Postby jane_wild on 30 Jul 2019, 16:03

Вам на каждом отдельно компьютере нужно создать UDL файл с информацией о подключении (либо прописать их в системе).

Так и сделала на двух PC создала UDL файлы, как описано здесь. При создания UDL нажимала кнопочки test connection, окошко говорило об успешном соединении с БД. Их содержимое получилось одинаковое, за исключением пути Data Source.
Code: Select all
[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
User avatar
jane_wild
advanced
advanced
 
Posts: 153
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2016
Karma: 5

Previous

Return to Для чайников

Who is online

Users browsing this forum: Google and 8 guests

cron