|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.07.2007, 17:00 | #1 |
Пользователь
Регистрация: 08.07.2007
Сообщений: 47
|
Помогите разобраться с MySQL5
Народ помогите разобраться с BD MySQl5.
Дело в следующем: Создаю бд в MySQl далее создаю в бд таблицу Соединяю бд с дельфи с помощъю ADO. Соединяется нормально но при созании нового поля в бд вылетает ошибка, что невозможно добавить запись. Скрипт таблицы: Код:
1)ADOConnection1->Connection String->use Connection String->build ->Microsoft Ole DB Provider for ODBC Driver->указываю источник-> ->проверяю конект все норм. 2)В ADOQuery1 в свойствай : а)Connection ->ADOConnection1 б)SQL->SELECT * FROM KompT в) Active->true 3)В DataSource1 в свойствах dataSet ADOQuery1 4)Кидаю на форму DBGrid1 в свойвах DataSource->DataSource1 5)Кидаю на форму кнопку "Добавить" (добавление происходит на второй форме) 6)На второй форме находятся Кнопка сохранить и DBEdit'ы которые соеденены с таблицой. 7)При нажатии кнопки написан следующий код: If DataModule1.ADOQuery1.Modifed then DataModule1.ADOQuery.Post; 8)Жму ф9 запускается проект при добвлении записи вылетает ерор. Кто работал с MySQL помогите разобраться что делаю не так. |
26.07.2007, 10:40 | #2 |
детский тренер
Форумчанин
Регистрация: 08.06.2007
Сообщений: 532
|
procedure TForm1.Button1Click(Sender: TObject);
begin ADOQuery1.Active:=false; //добавление ADOQuery1.SQL.Clear; ADOQuery1.SQL.add('ALTER table table1 add (laa INT(10))'); ADOQuery1.ExecSQL; //открытие таблицы ADOQuery1.SQL.Clear; ADOQuery1.SQL.add('select * from table1'); ADOQuery1.ExecSQL; ADOQuery1.Active:=true; end; для изменения уже существующей таблицы пользуемся оператором ALTER TABLE <имя табл> оператор(add) <имя столбца><тип данных><размер>.... В данном примере я использую AdoQuery. Сначала добавляю столбец, а потом и открываю таблицу.... Если ты будешь использовать adoQuery и AdoTable , то, НАВЕРНОЕ, может возникнуть ошибка дублирования данных..... НО я не пробовал
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Последний раз редактировалось Pitbull; 26.07.2007 в 10:44. |
28.07.2007, 17:05 | #3 | |
Пользователь
Регистрация: 08.07.2007
Сообщений: 47
|
Цитата:
|
|
29.07.2007, 21:29 | #4 | |
детский тренер
Форумчанин
Регистрация: 08.06.2007
Сообщений: 532
|
Цитата:
можно вот так procedure TForm1.Button1Click(Sender: TObject); begin ADOQuery1.Active:=false; //добавление ADOQuery1.SQL.Clear; ADOQuery1.SQL.add('insert into table1('поле1','поле2') values ( : d1,: d2)'); // только тут не нужно пробела между двоеточием и d.... ADOQuery1.params[0].value:= .......; ADOQuery1.params[1].value:= .......; ADOQuery1.ExecSQL; ADOQuery1.Active:=true; end; Если у тебя ODBC 5.0 есть ,то можно использовать процедуры.... Принцип тот же.... Insert into.....
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Последний раз редактировалось Pitbull; 29.07.2007 в 21:33. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
переход с mysql4 на mysql5 | andrey4623 | SQL, базы данных | 1 | 12.07.2008 06:00 |
Помогите разобраться! | SerSasha | Помощь студентам | 4 | 09.06.2008 10:00 |
Помогите разобраться! | Holodok | Помощь студентам | 12 | 02.05.2008 18:13 |
Помогите разобраться! | Кот | Microsoft Office Excel | 3 | 14.08.2007 19:48 |