Mam pytanie, jak dodać rekord do tabeli w bazie MYSQL poprzez komponent ADOQuery lub ADOCommand,
Mam ustanowione połączenie z serwerem MySQL 5.0 poprzez MyODBC Connectora/MySQL i zapytania typu SELECT wysyłane do bazy działają, ale gdy próbuje wstawić rekord polecenie INSERT INTO wywala mi błąd składni. Tabela Programy w bazie wygląda tak:
Pola : id int auto_increment not null, a pozostałe pola nazwa_programu, kategoria, opis_programu,numer_DVD są typu varchar i not null.
składnia poleceń, jaką próbowałem wykonać za pomocą komponentu ADOQuery wygląda tak:
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO programy
(nazwa_programu
,kategoria
,opis_programu
,numer_DVD
) VALUES ('+Edit1.Text+','+ComboBox1.Items.Strings[ComboBox1.ItemIndex]+','+Memo1.Lines.Text+','+Edit3.Text+')');
ExecSQL;
end;
Chciałbym wiedzieć czy polecenie jest dobrze napisane i jak wygląda sprawa z polem id, które jest typu auto_increment w MySQL, gdyż polecenie INSERT INTO wykonane za pomocą klienta MySQL nie wymaga
podawania pozycji id, gdyż robi to za nas serwer, ale nie wiem jak wygląda ta sprawa w przypadku zewnętrznej aplikacji typu delphi lub C++ builder.
Aha jeszcze jedno czy wymagane są jakieś konwersje stringów zawartych w kontrolkach Edit, Memo, ComboBox czy też nie w odniesieniu do pól tabeli typu varchar?
Jeśli ktoś zna odpowiedzi na te pytania, prosiłbym o odpowiedź. [???]