|
|
|
Вопрос по OleDb в Access
|
|||
|---|---|---|---|
|
#18+
При добавлении в цикле записей в таблицу аксеса переиодически выходит OleDbException "Открытие большего числа таблиц невозможно" Добавление происходит одним OleDbCommand-ом Бд открывается перед циклом и закрвается после ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2005, 14:42 |
|
||
|
Вопрос по OleDb в Access
|
|||
|---|---|---|---|
|
#18+
Какой код "добавления" ? Код: plaintext Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2005, 17:14 |
|
||
|
Вопрос по OleDb в Access
|
|||
|---|---|---|---|
|
#18+
Дело в том, что в цикле этот OledbCommand используется для добавления в одну таблицу, и для выборки из другой таблицы - Или это плохо, когда когда у нас все действия с объектами БД выполняются одним объектом OleDbCommand ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2005, 11:45 |
|
||
|
Вопрос по OleDb в Access
|
|||
|---|---|---|---|
|
#18+
void ManageSys::DBConnect::UpdateATSHours(String* tgno,String* ats,DateTime date,int hour,int cc_o,int cc_answ,int sub_busy,int not_resp,int ext_techn,int incmp_dial) { cmd->CommandText=S"UPDATE ATSRecordHour SET CC_O=CC_O+\?,CC_ANSW=CC_ANSW+\?," S"NOT_RESPONCE=NOT_RESPONCE+\?,SUB_BUSY=SUB_BUSY+\?," S"EXT_TECHN=EXT_TECHN+\?,INCMP_DIAL=INCMP_DIAL+\?" S"WHERE ((DateRec=\?)AND(HourRec=\?)AND(TGNO=\?)AND(ATS=\?))"; //очищение списка параметров cmd->Parameters->Clear(); //добавление параметров в список cmd->Parameters->Add(S"@CC_O",OleDb::OleDbType::Integer); cmd->Parameters->Add(S"@CC_ANSW",OleDb::OleDbType::Integer); cmd->Parameters->Add(S"@SUB_BUSY",OleDb::OleDbType::Integer); cmd->Parameters->AddS"@NOT_RESPONCE",OleDb::OleDbType::Integer); cmd->Parameters->Add(S"@EXT_TECHN",OleDb::OleDbType::Integer); cmd->Parameters->Add(S"@INCMP_DIAL",OleDb::OleDbType::Integer); cmd->Parameters->Add(S"@DateRec",OleDb::OleDbType::DBDate); cmd->Parameters->Add(S"@HourRec",OleDb::OleDbType::Integer); cmd->Parameters->Add(S"@TGNO",OleDb::OleDbType::BSTR); cmd->Parameters->Add(S"@ATS",OleDb::OleDbType::BSTR); //инициализация параметров cmd->Parameters->Item[0]->Value=__box(cc_o); cmd->Parameters->Item[1]->Value=__box(cc_answ); cmd->Parameters->Item[2]->Value=__box(sub_busy); cmd->Parameters->Item[3]->Value=__box(not_resp); cmd->Parameters->Item[4]->Value=__box(ext_techn); cmd->Parameters->Item[5]->Value=__box(incmp_dial); cmd->Parameters->Item[6]->Value=__box(date); cmd->Parameters->Item[7]->Value=__box(hour); cmd->Parameters->Item[8]->Value=tgno; cmd->Parameters->Item[9]->Value=ats; try { cmd->Prepare(); cmd->ExecuteNonQuery(); } catch(InvalidOperationException* e) { e->Message; System::Windows::Forms::MessageBox::Show(e-> get_Message) , S"UPDATE ATS Record", MessageBoxButtons::OKCancel, MessageBoxIcon::Asterisk); } catch(OleDbException* e) { e->Message; System::Windows::Forms::MessageBox::Show(e->get_Message(),S"UPDATE ATS Record", MessageBoxButtons::OKCancel, MessageBoxIcon::Asterisk); } catch(Exception* e) { e->Message; System::Windows::Forms::MessageBox::Show(e->get_Message(),S"UPDATE ATS Record", MessageBoxButtons::OKCancel, MessageBoxIcon::Asterisk); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2005, 12:04 |
|
||
|
Вопрос по OleDb в Access
|
|||
|---|---|---|---|
|
#18+
UpdateATSHours вызывается в цикле? Код: plaintext Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2005, 13:14 |
|
||
|
Вопрос по OleDb в Access
|
|||
|---|---|---|---|
|
#18+
Да В среднем количество итераций составляяет 600 000 Но из-за этой ошибки обновлений в таблице делается раза в 1,5 - 2 меньше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2005, 15:23 |
|
||
|
Вопрос по OleDb в Access
|
|||
|---|---|---|---|
|
#18+
У меня подозрение, что если к началу следующего обновления таблицы предыдущее ещё не завершено, то для текущего обновления открывается открывается копия таблицы И когда их становится слишком много то это вызвает исключение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2005, 15:32 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=33363651&tid=1353573]: |
0ms |
get settings: |
8ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 204ms |
| total: | 391ms |

| 0 / 0 |
