Вниз
Скачать: CL | DM;

Как мне в 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
15-1231595355
Slider007
2009-01-10 16:49
2009.03.15
С днем рождения ! 9 января 2009 пятница


15-1231647773
Slider007
2009-01-11 07:22
2009.03.15
С днем рождения ! 11 января 2009 воскресенье


8-1192292701
Dmitry_12_08_73
2007-10-13 20:25
2009.03.15
Графические компоненты


15-1231937972
Baks
2009-01-14 15:59
2009.03.15
Посоветуйте маленькую и бесплатную программу для создания *.ico


2-1232479466
AkimOS
2009-01-20 22:24
2009.03.15
ListBox




   Наверх