Форум: "Базы";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
ВнизПроблема с вставкой записи в MSAccess базу Найти похожие ветки
← →
Checist [root] (2005-02-01 21:22) [0]Пытаюсь через TQuery:
DMod.QContAdd.Close;
DMod.QContAdd.SQL.Clear;
DMod.QContAdd.SQL.Add("INSERT INTO TabCont(CompName) VALUES("NComp")");
DMod.QContAdd.Prepare;
with DMod.QContAdd.Params.CreateParam(ftString, "NComp", ptInput) do AsString := NComp.Text;
DMod.QContAdd.UpdateStatus;
ShowMessage(DMod.QContAdd.SQL.Text);
DMod.QContAdd.ExecSQL;
Вылетает ошибка НЕВОЗМОЖНО НАЙТИ ОБЪЕКТ.
Из базы нормально считываю. По дефолту в Query SQL и Params пусты, база подключена на ODBS
← →
USTAS (2005-02-02 09:36) [1]это строка запроса
INSERT INTO TabCont(CompName) VALUES("NComp")
в новой записи в таблице TabCont установит значение для поля CompName равное NComp
если ты хочешь использовать параметры то строка в запросе на добавление записи должна выглядеть таким образом
INSERT INTO TabCont(CompName) VALUES(:NComp)
соответсвенно строки
DMod.QContAdd.Prepare;
with DMod.QContAdd.Params.CreateParam(ftString, "NComp", ptInput) do AsString := NComp.Text;
DMod.QContAdd.UpdateStatus;
можно удалить, а вместо них использовать
QContAdd.ParamByName("NComp").Value := NComp.Text;
"Вылетает ошибка НЕВОЗМОЖНО НАЙТИ ОБЪЕКТ" - обычно такая ошибка вылетает если обращаешся к несуществующей таблице.
← →
Checist [root] (2005-02-02 12:09) [2]Но таблица есть. И если свойство SQL заполнить в процессе разработки, то вес ОК... А как сделать это в процессе выполнения... Напишите простой пример работающего SQL запроса для вставки записи, какие компоненты кроме Query надо использовать?
← →
Соловьев © (2005-02-02 12:11) [3]
> кроме Query
TADODataSet и TADOCommand и только
INSERT INTO TabCont(CompName) VALUES("NComp")
← →
Checist [root] (2005-02-02 12:15) [4]Не проходит пишет ОБъект не найдед, я делаю через параметр:
DMod.QContAdd.Close;
DMod.QContAdd.SQL.Clear;
with DMod.QContAdd.Params.CreateParam(ftString,"NComp",ptInput) do AsString := NComp.Text;
DMod.QContAdd.SQL.Text := "INSERT INTO TabCont (CompName) VALUES (:NComp)";
DMod.QContAdd.ExecSQL;
← →
Соловьев © (2005-02-02 12:17) [5]DMod.QContAdd.Close;
DMod.QContAdd.SQL.Clear;
DMod.QContAdd.SQL.Text := "INSERT INTO TabCont (CompName) VALUES (:NComp)";
DMod.QContAdd.Params[0].AsString := NComp.Text;
DMod.QContAdd.ExecSQL;
← →
Checist [root] (2005-02-02 12:22) [6]DMod.QContAdd.Close;
DMod.QContAdd.SQL.Clear;
DMod.QContAdd.Params.CreateParam(ftString,"NComp",ptInput);
DMod.QContAdd.Params[0].AsString := NComp.Text;
DMod.QContAdd.SQL.Text := "INSERT INTO TabCont (CompName) VALUES (:NComp)";
DMod.QContAdd.ExecSQL;
Та же ошибка, а если бtз CreateParam, то List out of bounds!
Нет у вас мелкой проги примера, с использованием Query
← →
Соловьев © (2005-02-02 12:23) [7]
> DMod.QContAdd.Params.CreateParam(ftString,"NComp",ptInput);
> DMod.QContAdd.Params[0].AsString := NComp.Text;
> DMod.QContAdd.SQL.Text := "INSERT INTO TabCont (CompName)
> VALUES (:NComp)";
где такое написано в моем посте???
← →
Checist [root] (2005-02-02 12:26) [8]Если точно как у вас то ошибка "List out of bounds"
← →
Соловьев © (2005-02-02 12:27) [9]TQuery.ParamCheck = true?
← →
Checist [root] (2005-02-02 12:33) [10]Спасибо теперь все нормально!!!
← →
Соловьев © (2005-02-02 12:36) [11]
> DMod.QContAdd.
имхо, инкапсуляцию почитай.
Задатки от сюда- http://www.delphikingdom.com/asp/viewitem.asp?catalogid=724
← →
Checist [root] (2005-02-02 20:17) [12]А при использовании нескольких параметров вылетает ошибка в SQL синтаксе:
SQL.Close;
SQL.SQL.Clear;
SQL.SQL.Text := "INSERT INTO TabCont(Comp, Cont, Tel, TMob, TWork, Adress, Text) VALUES(:P0,:P1,:P2,:P3,:P4,:P5,:P6)";
SQL.Params[0].AsString := NComp.Text;
SQL.Params[1].AsString := NName.Text + " " + NSurn.Text + " " + NSecName.Text;
SQL.Params[2].AsString := NTel.Text;
SQL.Params[3].AsString := NMob.Text;
SQL.Params[4].AsString := NWork.Text;
SQL.Params[5].AsString := NADr.Text;
SQL.Params[6].AsString := NText.Text;
SQL.ExecSQL;
← →
Соловьев © (2005-02-02 20:35) [13]
> SQL.SQL.Text := "INSERT INTO TabCont(Comp, Cont, Tel, TMob,
> TWork, Adress, Text) VALUES(:P0,:P1,:P2,:P3,:P4,:P5,:P6)";
Text?
← →
Checist [root] (2005-02-02 20:59) [14]TabCont(Comp, Cont, Tel, TMob, TWork, Adress, Text) - колонка называется Text.
А как надо?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.048 c