Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];

Вниз

Не понятные ошибки при работе с БД   Найти похожие ветки 

 
JEK2   (2006-02-08 21:32) [0]

Объясните что не правильно делаю
в Table1 прально указана DatabaseName, TableName, TableType, база с таблицей есть, алиас прописан.
У DataSource1 DataSet выставлено в Table1
DBGrid отображает таблицу нормально
У Query1  DataSource стоит - DataSource1, DataSet как Table1


procedure TForm1.Button1Click(Sender: TObject);
begin
 Query1.Close;
 Query1.SQL.Clear;
 Query1.SQL.Add("SELECT * FROM B_ALL.DB");
 Query1.SQL.Add("WHERE GOR = "+Edit1.Text);
 Query1.Open;
end;

при запросе вылетает ошибка, в чем дело?
Project Project.exe raized excetion class EDBEngineError with message "Invalid field name TEST".
слово TEST ввожу в Edit1.text
кодировка таблицы OEM_CHARSET, у Edit1.text OEMConvert=TRUE


 
Virgo_Style ©   (2006-02-08 21:53) [1]

У тебя нет поля Test в таблице.
А строковые константы - они в кавычках должны быть.


 
JEK2   (2006-02-08 22:06) [2]

>Virgo_Style ©   (08.02.06 21:53) [1]
>У тебя нет поля Test в таблице.
Это и ежу понятно :)

Я ищу в поле GOR как видно из запроса
Query1.SQL.Add("WHERE GOR = "+Edit1.Text);

Вобщем вся проблема похоже в том, что B_ALL.DB я создал с помошью Datapump из B_ALL.DBF
B_ALL.DBF имеет старую DOS кодировку OEM ,вобщем как то надо при запросе к таблице данные из Edit1.Text тоже как то преобразовать в OEM_CHARSET, иначе удачи не видать :) только вот вопрос как


 
Desdechado ©   (2006-02-08 22:09) [3]

Query1.SQL.Add("WHERE GOR = :P1");
Query1.Params[0].AsString:=Edit1.Text;


 
JEK2   (2006-02-08 22:14) [4]

>Desdechado
переведите если не затруднит строку "WHERE GOR = :P1"
:P1 что это означает?


 
JEK2   (2006-02-08 22:25) [5]

По большому счету всего лишь надо данные из Edit1.text преобразовать в кодировку OEM_CHARSET перед передачей Query1
Query1.SQL.Add("WHERE GOR = ""+Edit1.Text+""");
Помогите а, запарился однако :(


 
Плохиш ©   (2006-02-08 22:38) [6]


> JEK2   (08.02.06 22:14) [4]
> >Desdechado
> переведите если не затруднит строку "WHERE GOR = :P1"
> :P1 что это означает?

А строка Query1.Params[0].AsString:=Edit1.Text; значится вопросов не вызывает?

> Query1.SQL.Add("WHERE GOR = ""+Edit1.Text+""");

Query1.SQL.Add("WHERE GOR=" + QuotedStr(Edit1.Text));


 
JEK2   (2006-02-08 22:57) [7]

>Плохиш
А строка Query1.Params[0].AsString:=Edit1.Text; значится вопросов не вызывает?

Вызывала, разобрался с параметрами, только и такой запрос
Query1.SQL.Add("WHERE GOR = ""+Edit1.Text+""");
и такой
Query1.SQL.Add("WHERE GOR=" + QuotedStr(Edit1.Text));
практически одно и тоже, но дело не в этом, а в!!!

Как Edit1.Text преобразовать в кодировку OEM_CHARSET перед передачей Query1, ну не получается у меня никак :(((


 
Плохиш ©   (2006-02-08 23:26) [8]

Кодировку базы данных обычно указывают в драйверах, используемых для подключения, которые судя по вопросу являются военной тайной.


 
JEK2   (2006-02-09 20:54) [9]

>Плохиш ©   (08.02.06 23:26) [8]
>Кодировку базы данных обычно указывают в драйверах, используемых для >подключения, которые судя по вопросу являются военной тайной.

Я как будто вопрос задал понятнее некуда :)
Как данные из Edit1.Text преобразовать в кодировку OEM_CHARSET перед передачей Query1!!!
У Edit1.text OEMConvert=TRUE -не помогает :(
Разве из вопроса не понятно что кодировка базы именно такая?
B_ALL.DBF имеет старую DOS кодировку OEM, чтоб данные в гриде смотреть не абракадаброй, вынужден использовать тоже OEM_CHARSET



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.038 c
9-1125503769
Nonstop
2005-08-31 19:56
2006.02.26
Gjvjubnt vyt f z dfv pfgkfxe


1-1138198956
MegaVolt
2006-01-25 17:22
2006.02.26
Как бы сделать псевдо множественное наследование?


2-1139392053
nap<>
2006-02-08 12:47
2006.02.26
MD5


1-1134650395
DelphiLexx
2005-12-15 15:39
2006.02.26
Аналог TTreeView


3-1135861106
linx
2005-12-29 15:58
2006.02.26
Чтобы сервер InterBase стартовал раньше ввода пароля





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский