Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Скрипт ввода данных в БД / 3 сообщений из 3, страница 1 из 1
03.02.2012, 19:00
    #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
03.02.2012, 23:52
    #37646672
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт ввода данных в БД
Из этого куска кода нифига неясно, что и как надо писать и куда.
А очень долго - это может потому, что алгоритм кривой и по сто раз во вложенном цикле одно и то же делает?

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


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


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