Главная страница
    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.45 MB
Время: 0.041 c
4-1203372135
dsoft
2008-02-19 01:02
2009.03.15
ListView_SetBkImage


15-1231450495
oxffff
2009-01-09 00:34
2009.03.15
The Future of the Delphi Compiler


8-1191770086
яблочго
2007-10-07 19:14
2009.03.15
Установка палитры в TBitmap


15-1231582306
AlexDan
2009-01-10 13:11
2009.03.15
Математика, функции.


3-1216798241
FBuilder
2008-07-23 11:30
2009.03.15
Изменить тип поля





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