meskallito |
Отправлено: 09.12.2006, 18:13 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 3
|
У меня такой вот вопрос:
Есть база. Кодировка для нее, и таблиц прописана как cp1251. Колейт сp1251_ukrainian_ci. В клиентской программе есть участок кода который засовывает запрос в ADOQuery и активирует его. Так вот первый раз при старте программы этот участок кода проходит нормально, результаты запроса видны на экране. А если вызвать его чуть позже кнопкой, то получаю следующую ошибку:
Illegal mix of collations (cp1251_ukrainian_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='
Помогите пожайлуста разобраться в чем тут дело |
|
Romikgy |
Отправлено: 10.12.2006, 13:23 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 72
|
имхо тяко что либо понять без кода твоего |
|
meskallito |
Отправлено: 10.12.2006, 14:24 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 3
|
Вот участок соединения в FormCreate:
BDDataModule->ADOConn->Open();
BDDataModule->ADOConn->Execute("SET charset cp1251");
BDDataModule->ADOConn->Execute("set collation_connection='cp1251_ukrainian_ci'");
Вот участок который вызывает ошибку:
BDDataModule->ADOQuery_N1->Close();
BDDataModule->ADOQuery_N1->SQL->Clear();
BDDataModule->ADOQuery_N1->SQL->Text="SELECT * FROM books_fund WHERE section in (SELECT section_id FROM sections WHERE section_name IN ('Розділ 1','Розділ 2'));";
BDDataModule->ADOQuery_N1->Open();
Больше никаких манипуляций с соединением или с запросом программа не делает.
|
|
Romikgy |
Отправлено: 10.12.2006, 20:55 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 72
|
BDDataModule->ADOConn->Execute("SET charset cp1251");
BDDataModule->ADOConn->Execute("set collation_connection='cp1251_ukrainian_ci'");
это работает имхо только на сеанс связи с базой,
т.е. если закрыл ее , все настройки слетают , перед открытием делай эти строки заново |
|
meskallito |
Отправлено: 12.12.2006, 21:14 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 3
|
Проблема решилась когда перенес все компоненты из датамодуля к себе на форму. Может я этот датамодуль както не так подключил. Хотя что там можно "не так подключить"...хз |
|