powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Скрипт ввода данных в БД
3 сообщений из 3, страница 1 из 1
Скрипт ввода данных в БД
    #37646396
bubek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую господа знатоки!

Дайте пожалуйста кусок кода SQL (запрос), который записал бы элементы LIstbox'а в базу данных. ADODC Recordset очень долго это делает. Вот мой кусок из VB. Спасибо!!!!

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
For i = 0 To Adodc1.Recordset.RecordCount - 1
If Trim(Adodc1.Recordset("num")) = Val(lstSold.List(j)) Then

Adodc1.Recordset("agent") = cmbAgent.Text
Adodc1.Recordset("datesold") = Date
Adodc1.Recordset("price") = txtPrice
Adodc1.Recordset("status") = "1"
Adodc1.Recordset("agreement") = "NO"
       
If chkCash.Value = Checked Then
   Adodc1.Recordset("nodebt") = 1
ElseIf chkNoCash.Value = Checked Then
   Adodc1.Recordset("fulldebt") = 1
End If
   Exit For
End If
   Adodc1.Recordset.MoveNext
Next i
Next j



Модератор: Тема перенесена из форума "MySQL".
...
Рейтинг: 0 / 0
Скрипт ввода данных в БД
    #37646672
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из этого куска кода нифига неясно, что и как надо писать и куда.
А очень долго - это может потому, что алгоритм кривой и по сто раз во вложенном цикле одно и то же делает?

В общем, вместо куска кода излагай лучше, что требуется.
...
Рейтинг: 0 / 0
Скрипт ввода данных в БД
    #37646695
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В приведенном коде ЭЛЕМЕНТЫ Листбокса нигде НЕ ЗАПИСЫВАЮТСЯ в БД.
Если предположить, что внешний цикл, который тут не приведен, это перебор листбокса, то действительно получается, что для КАЖДОГО элемента листбокса идет ПОЛНЫЙ перебор рекордсета. Так что это неbubekADODC Recordset очень долго это делает, а автор данного алгоритма очень долго это делает.


Ну а в целом всю эту конструкцию заменит один-единственный sql-запрос типа:
Код: sql
1.
2.
3.
UPDATE MyTable
SET agent=..., datesold=..., status='1', agreement='NO'
WHERE num IN (список номеров через запятую);
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Скрипт ввода данных в БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]