Форум: "Начинающим";
Текущий архив: 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.45 MB
Время: 0.049 c