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

Вниз

Как мне в delphi запустить импорт базы данних   Найти похожие ветки 

 
cchiko   (2009-01-25 23:34) [0]

Как мне в delphi запустить импорт базы данних.

Обычно я делаю так
C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql.exe --user=root < с:\db.sql

Как мне запустить на выполнение такую строчку дос комманды?


 
Германн ©   (2009-01-26 02:11) [1]


> Как мне запустить на выполнение такую строчку дос комманды?

А причём тут конференция "Базы", если вопрос о том "Как мне запустить на выполнение такую строчку дос комманды?"
P.S.
Команда пишется с одной "м".


 
KilkennyCat ©   (2009-01-26 02:40) [2]

Коммандос - с двумя :)

WinExec


 
Германн ©   (2009-01-26 02:47) [3]


> KilkennyCat ©   (26.01.09 02:40) [2]
>
> Коммандос - с двумя :)
>

Голливуд идёт лесом. Святым или или ещё каким - это мне не интересно.
:)
CreateProcess


 
cchiko   (2009-01-26 13:02) [4]


> CreateProcess


Я использую CreateProcess но ничего не выходит, окно открывается и сразу закрывается, я даже не могу рассмотреть что там за ошибка, но вроди как ошибка в команде, потому что, чтото похожее выдает mysql.exe когда не верно введена команда - справку с описанием всевозможных параметров. КОгда я делаю это вручную все зрабатывает нормально.
Привожу исходный код:

function ExecAndWait(const FileName, Params: ShortString; const WinState: Word;): boolean; export;
var
 StartInfo: TStartupInfo;
 ProcInfo: TProcessInformation;
 CmdLine: ShortString;
begin
 CmdLine := """ + Filename + "" " + Params;
 FillChar(StartInfo, SizeOf(StartInfo), #0);
 with StartInfo do
 begin
   cb := SizeOf(StartInfo);
   dwFlags := STARTF_USESHOWWINDOW;
   wShowWindow := WinState;
 end;
 Result := CreateProcess(nil, PChar( String( CmdLine ) ), nil, nil, false,
                         CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,
                         PChar(ExtractFilePath(Filename)),StartInfo,ProcInfo);
 if Result then
 begin
   WaitForSingleObject(ProcInfo.hProcess, INFINITE);
   CloseHandle(ProcInfo.hProcess);
   CloseHandle(ProcInfo.hThread);
 end
 else
 begin
    ShowMessage("Error");
 end;
end;

Вызов этой функции происходит так:
ExecAndWait("C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql.exe"," --user=root < " + ExtractFilePath(Application.ExeName) + "db_dump.sql",sw_ShowNormal);

P.S. Спасибо за исправления ошибок, русский у меня хромает, просьба, если будут еще какие то ошибки, сообщим мне об этом.


 
Anatoly Podgoretsky ©   (2009-01-26 13:11) [5]

Что бы не закрывалось - требуется запуска в консоли коммандного процессора.
С определенными допущениями это "cmd " + Filename
Параметры "cmd можно посмотреть в справке



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

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

Наверх





Память: 0.46 MB
Время: 0.053 c
2-1232697178
Dennis S
2009-01-23 10:52
2009.03.15
OLE Error


15-1231518811
programmer90
2009-01-09 19:33
2009.03.15
Оптимизация Интернет Соединения


2-1231221228
123-ий
2009-01-06 08:53
2009.03.15
Присваивание значения булевой переменной


15-1231101557
DillerXX
2009-01-04 23:39
2009.03.15
Кодирование DVD-video


8-1191654435
Митяй2
2007-10-06 11:07
2009.03.15
Воспроизведение mp3-мелодий





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский