![]() |
|
![]() ![]() ![]() |
|
MAXIQ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
При загрузке базы данных созданной либо в Access либо в VisualFoxPro на стадии разработки, Borland асатанело требует какой-то пароль, который я не задавал вообще ни на стадии создания базы данных ни на каком-либо другом этапе, как быть даже не знаю, прочитал самоучитель по базам в Borland-е но там ничего хорошего не нашел, в общем HELP!!!!!!!!
|
|||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
Каким компонентами пользуешься?
свойство LoginPrompt поставь в False и запроса не будет... |
|||
|
||||
MAXIQ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
Компоненты TTable и DataSource а так же DBNavigator и DBGrid ни в какую не хочет присваиваться имя базы данных и имя таблицы, на таблице вылазит то же запрос пароля. Аналогично ведет себя если пойти через SQL Explorer но уже на стадии выбора имени базы данных, так как Borland-у надо показать на экране все таблицы которые есть в этой базе то запрос на пароль вылазит раньше. И как с этим бороться? И свойства такого я ни в одном используемом мной компоненте не нашел.
|
|||
|
||||
fish9370 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 1 Всего: 1 |
это ты работаешь через BDE (Borland Data Engine).. дело в том, что DBF-таблица не является базой данных, в нормальном понимании, это всего лишь таблица и открывать ее нужно так:
DataSource1->DataSet=Table1; DBGrid1->DataSource=DataSource1; все остальные настройки по дефолту.. на форме компоненты: TTable, TDataSource, TDBGrid и кнопка, в обработчике которой находится этот код.. Это сообщение отредактировал(а) fish9370 - 22.7.2007, 11:59 -------------------- undefined |
||||
|
|||||
MAXIQ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
Таблица действительно прогрузилась. правда только та, что я сдалал специально для пробы без индексов, однако как только Borland видит поле с индексом разумеется начинаются проблемы.
Сама задача состоит в том, чтоб при единой базе данных предприятия, находящейся на сервере. или вообще на достаточно производительном простом компе, рулить ей с рабочих мест приложениями Borland-a при соблюдении сохранности и целостности данных, скорость может быть и не высокой, но все равно быстрее чем в ручную и бегом получится)), при том на одном месте может быть 1 комп но у каждого работника свой ехе-шник. (чтоб и не повадно было лазить где попало и кнопки лишние глаза не мозолили). Исходя из этих условий рулить 1 отвязанной таблицей явно недостаточно. Нужно прогружать базу на стадии проектирования чтоб была связка с самим принципом построения и заложенными условиями, а там этот пароль. А приложения Borland-а надо чтоб быстро можно было реагировать на изменение ситуации без ущерба для базы данных. Тем более что сам ехе-шник будет трудновато раскурочить без проектных файлов и нанести вред будет труднее, по крайней мере на уровне продвинутого юзера. Есть и еще одна заморочка: при регистрации через SQL-Explorer требует BisualFoxPro ODBC Driver, а в нете присутствует версия для Win95 и 98 по моложе не нашел, и система ХР ее не признает и инсталить не хочет. В общем если есть идеи или предложения то внимательно вчитываюсь. |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 1 Всего: 1 |
хочется, естественно, тебе предложить перейти на клиент-серверную основу.. взять тот же MySQL.. и решить свои проблемы раз и навсегда.. почему нет?
-------------------- undefined |
|||
|
||||
MAXIQ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
Мда... вот и поуправляли базой данных из Borlanda.... Еще есть у кого варианты по теме только а то забанят, под шумок можно и другие предложения)))
|
|||
|
||||
sexton |
|
|||
![]() sexton=Пономарь (eng) ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 5.5.2004 Где: Ульяновск Репутация: 5 Всего: 9 |
Если тебе нужна работа с DBF - Advantage Database Engine тебе в руки.
Добавлено через 11 минут и 21 секунду Если тебе нужна работа с DBF - Advantage Database Engine тебе в руки. |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 1 Всего: 1 |
а что из Борланда управлять MySQL-базой никак? -------------------- undefined |
|||
|
||||
MAXIQ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
Хотел спросить, а пароль вышибает только у меня или еще кто-нибудь пробовал прогрузить базу данных FoxPro или Access с тем же результатом. А вообще SQL базой порулить я еще не пробовал, тем и займусь. А к участникам просьба все-таки попробовать грузануть базу, только не BCDEMOS она грузится без вопросов и применяется в качестве примера в литературе (зараза). Хотя может ее скопировать и раскурочить по своему............
|
|||
|
||||
MAXIQ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
Пробовал прогрузить базу в элементы со вкладки ADO, с тем же эффектом, пароль захотел. Брал базу у знакомого програмера, а то может моя с глюками, все равно пароля хочет, короче с Borlandom в этом вопросе придется прощаться(( потому, что не факт, что и на MySQL базу реакция с паролем не наступит.
|
|||
|
||||
MAXIQ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
В общем вот статья на которую натолкнулся в нете, добрый человек SABROG, подробно объяснил как рулить из Borlanda MySQL базой еще год назад.
-------------------------------------------------------------------- Покопавшись на программерских форумах и форуме MySQL мне удалось таки собрать достаточно информации, чтобы наконец подключиться к MySQL серверу без всяких ADO, ODBC. Ни для кого не секрет, что для того, чтобы ваша программа заработала на другой машине - нужно настраивать DSN в ODBC, а для MySQL сервера на эту машину еще нужно поставить специальный компонент. Можно конечно включить инструкцию для пользователя как настраивать DSN, а также включить тот самый MySQL ODBC драйвер и наверно это будет неплохо в случае, если вы решили заработать денег на тех.поддержке. Далее идет инструкция "Step By Step", все манипуляции проделывались на BCB6.0. Для начала нужно скачать сам MySQL. Мой архив назывался так: mysql-noinstall-6.1.7-beta-win32 (у вас наверно будет поновее). Убедитесь, что вы запустили и настроили MySQL сервер, а также имеете права администратора на нем Начнем. 1. Копируем файл из папки lib\opt: libmysql.dll в отдельную папку - for_bcb\lib 2. Запускаем командную строку (cmd), переходим в папку где лежит implib: c:\>n: n:\>cd N:\Program Files\Borland\CBuilder6\Bin n:\Program Files\Borland\CBuilder6\Bin>implib -c I:\for_bcb\lib\opt\libmysql.lib I:\for_bcb\lib\opt\libmysql.dll 3. Копируем папку include в папку for_bcb, находим строку: #define my_socket SOCKET и меняем ее на: #define my_socket UINT_PTR 4. Создаем новый проект. 5. Кидаем на форму Button1 и ListView1. 6. Ставим свойство ListView1 ViewStyle = vsReport. 7. Жмем Shift+F11 (Project->Add To Project). Выбираем Files of Type->lib, переходим в директорию for_bcb\lib и выбираем файл libmysql.lib. 8. Жмем Ctrl+Shift+F11 (Project->Options). Выбираем вкладку "Directories/Conditional". Жмем на кнопки с тремя точками в Include Path и Library Path. В Include Path выбираем директорию for_bcb\include. В Library Path for_bcb\lib. 9. Сохраняем проект. 10. Добавляем две строчки в исходнике (F12): Код: //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" #define __LCC__ // эту и #include <mysql.h> // эту //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; Копируем for_bcb\lib\libmysql.dll в папку куда будет сохраняться скомпилированный exe файл (обычно в той же директории что и файлы проекта, если речь не о BDS2006) 11. Пример приложения. Не забудьте изменить в коде логин и пароль на свои данные (администраторские). Возможно потребуется также поменять адрес сервера localhost на ваш IP. Программа выполняется SQL запрос к базе данных MySQL и выводит все данные из таблицы `db` Код: //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "MySQLpmain.h" #define __LCC__ #include <mysql.h> //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; MYSQL *Con; MYSQL_RES *Res; MYSQL_ROW Row; MYSQL_FIELD *Fields; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { Con=mysql_init(Con); Con=mysql_real_connect(Con,"localhost","root","123456","mysql",0,NULL,0); if(!Con) ShowMessage("Can not connect."); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { if (Con){ ListView1->Items->BeginUpdate(); ListView1->Clear(); AnsiString query="SELECT * FROM `mysql`.`db`;"; // magic string ;) mysql_real_query(Con,query.c_str(),query.Length()); int f=mysql_errno(Con); if(f==0){ Res=mysql_store_result(Con); int CountOfColumns=mysql_num_fields(Res); Fields=mysql_fetch_fields(Res); for(int i=0;i<CountOfColumns;i++){ ListView1->Columns->Add(); ListView1->Columns->Items[i]->Caption = Fields[i].name; } while ((Row = mysql_fetch_row(Res))){ TListItem *ListItem = ListView1->Items->Add(); for(int j=0;j<CountOfColumns;j++){ if (j == 0){ ListItem->Caption = Row[j]; }else{ ListItem->SubItems->Add(Row[j]); } } } ListView1->Items->EndUpdate(); }else{ ShowMessage("Error #: " + IntToStr(f) + char(13) + "Message: " + mysql_error(Con)); } } } //--------------------------------------------------------------------------- -------------------------------------------------------------------------------- Последний раз редактировалось SABROG, 25.08.2006 в 12:57. |
|||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
MAXIQ, совсем не обязательно брать левые компоненты для работы...
мона dbExpress и библиотеку просто положить в нужное место... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |