Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2009, 03:37   #21
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

у меня схожий вопрос...
сам запрос работает нормально...но при работе в дельфи возникает следующая ошибка:
..... ......
Cannot transliterate character between character sets'.
.....
как говорит мой переводчик это опять что то с кодировками... а что именно?
использую Interbase... там Character set = win1251...
maLoy*508 вне форума Ответить с цитированием
Старый 11.02.2009, 15:00   #22
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

Цитата:
сам запрос работает нормально...но при работе в дельфи возникает следующая ошибка:
а запрос можно увидеть?
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 11.02.2009, 15:37   #23
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

Собственно говоря запрос тут не при чем... тут что с моими рукам(....
короче вот запрос:
Код:
with Dm.IBQObrDan do
 begin
  with Sql do
   begin
  Clear;
  Add('SELECT OTDELI.NAIM_OTDELA, "USER".FIO_USER, OBORUDOVANIE.INVENT_NOMER, OBORUDOVANIE.NAIM_OBORUD, OBORUDOVANIE.PROZIVODITEL, OBORUDOVANIE.OPISANIE, DOLZHOSTI.NAIM_DOLZNOST');
   Add('FROM OBORUDOVANIE');
    Add('INNER JOIN "USER" ON (OBORUDOVANIE.ID_USERA = "USER".ID_USER)');
    Add('INNER JOIN OTDELI ON ("USER".OTDEL = OTDELI.ID_OTDELA)');
    Add('INNER JOIN DOLZHOSTI ON ("USER".DOLZHNOST =   DOLZHOSTI.ID_DOLZHNOST)');
    Add('WHERE');
    Add('OTDELI.ID_OTDELA ='+''''+Edit1.Text+'''');
    //Add('and');
    //Add('("USER".FIO_USER = '+Edit2.Text+')');
    //Add('and');
   //Add('(OBORUDOVANIE.NAIM_OBORUD = '+edit3.text+')');
   end;
   Close;
   Open;
 end;
maLoy*508 вне форума Ответить с цитированием
Старый 11.02.2009, 16:18   #24
начинающий кодер
только учусь!
Форумчанин
 
Аватар для начинающий кодер
 
Регистрация: 08.02.2009
Сообщений: 124
По умолчанию

Убери кавычки из названия таблицы user.
«Я знаю, что ничего не знаю, но многие не знают и этого».
начинающий кодер вне форума Ответить с цитированием
Старый 11.02.2009, 16:19   #25
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

вот когда-то нашёл в такие функции:
function tform1.ConvertOemToAnsi(const S: string): string;
{ ConvertOemToAnsi translates a string from the OEM-defined
character set into either an ANSI or a wide-character string }
{$IFNDEF WIN32}
var
Source, Dest : array[0..255] of Char;
{$ENDIF}
begin
{$IFDEF WIN32}
SetLength(Result, Length(S));
if Length(Result) > 0 then
OemToAnsi(PChar(S), PChar(Result));
{$ELSE}
if Length(Result) > 0 then
begin
OemToAnsi(StrPCopy(Source, S), Dest);
Result := StrPas(Dest);
end;
{$ENDIF}
end; { ConvertOemToAnsi }

function tform1.ConvertAnsiToOem(const S: string): string;
{ ConvertAnsiToOem translates a string into the OEM-defined character set }
{$IFNDEF WIN32}
var
Source, Dest : array[0..255] of Char;
{$ENDIF}
begin
{$IFDEF WIN32}
SetLength(Result, Length(S));
if Length(Result) > 0 then
AnsiToOem(PChar(S), PChar(Result));
{$ELSE}
if Length(Result) > 0 then
begin
AnsiToOem(StrPCopy(Source, S), Dest);
Result := StrPas(Dest);
end;
{$ENDIF}
end; { ConvertAnsiToOem }
попробуйте использовать одну из них, должно подойти
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 11.02.2009, 17:12   #26
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

Цитата:
Сообщение от начинающий кодер Посмотреть сообщение
Убери кавычки из названия таблицы user.
кавычки в названии таблицы user нужны... так как user, как я понял зарезервированное слово.... вот так вот...

2 Dark_Spirit:
а можно как нибудь на примере? а то действительно, как у Вас написано:
"Тяжело быть бестолковым..... "
maLoy*508 вне форума Ответить с цитированием
Старый 11.02.2009, 18:21   #27
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

Цитата:
Add('OTDELI.ID_OTDELA ='+''''+Edit1.Text+'''');
эту строку я бы переписал так:
Add('OTDELI.ID_OTDELA ='+chr(39)+ConvertOemToAnsi(Edit1.T ext)+chr(39));
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 11.02.2009, 18:35   #28
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

все равно я что то не правильно делаю....
процедуру заранее надо описывать или подключать какую-нибудь библиотеку??
maLoy*508 вне форума Ответить с цитированием
Старый 11.02.2009, 18:54   #29
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

смотри я тебе в #25 кину две функции, подключи их в спой проект, млин ну как просто новую процедуру дописываешь
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 11.02.2009, 19:12   #30
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

все равно таже ошибка))
maLoy*508 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с кодировкой... SynonymMixer Общие вопросы Delphi 6 28.01.2009 15:40
Проблема с кодировкой feniks65 Паскаль, Turbo Pascal, PascalABC.NET 13 06.01.2009 11:00
Проблемы с кодировкой Levchik HTML и CSS 2 16.12.2008 16:12
Проблемы с кодировкой писем Черничный Win Api 7 16.06.2008 12:19
Дельфи 8. Проблема с кодировкой. Venor Общие вопросы Delphi 1 10.06.2008 20:44