Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

добавление записи в таблицу   Найти похожие ветки 

 
sergeymist   (2005-01-27 21:30) [0]

пытаюсь добавить строку в таблицу вот таким методом:

adoquery2.SQL.Clear;
adoquery2.SQL.Add("INSERT INTO own (own_fio,own_dom,own_tel) VALUES ("petrov","moskva","1234567")");
adoquery2.ExecSQL;


вместо того чтобы выполнить sql выдается ошибка:

проект такойто вызвал исключение класса EOLEExeption
[microsoft][драйвер ODBC microsoft access] Cлишком мало параметров. требуется 1

уважаемые Мастера, не подскажете чего не хватает? или объясните как обойти эту ошибку.


 
chir   (2005-01-27 22:22) [1]

не знаю как в access, но с oracle " - не хотят работать. попробуй так:

adoquery2.SQL.Add("INSERT INTO own (own_fio,own_dom,own_tel) VALUES (""petrov"",""moskva"",""1234567"")");


 
Tornado ©   (2005-01-28 07:57) [2]


SQLString := ("INSERT INTO " + Reg.ReadString("Options", "BD", "") + " (Lpumg, Date_v_rem) VALUES (:Lpumg, :Date_v_rem)");

with DataMod.ADOQuery do begin
    Close;
    SQL.Clear;
    SQL.Add(SQLString);
    Parameters.ParamByName("Lpumg").Value := "Арзамас";    
    Parameters.ParamByName("Date_v_rem").Value := "12.02.05";  
    ExecSQL;
end;


база - Access


 
Tornado ©   (2005-01-28 07:58) [3]

пусть не смущает "Reg.ReadString("Options", "BD", "")" - из реестра беру имя таблицы


 
Соловьев ©   (2005-01-28 11:07) [4]

>INSERT INTO own (own_fio,own_dom,own_tel) VALUES
>("petrov","moskva","1234567")

А такой запрос проходит в Ацесе?


 
ЮЮ ©   (2005-01-28 11:32) [5]

[драйвер ODBC microsoft access]
Может все дело в дровах, а не в запросе?


 
sniknik ©   (2005-01-28 12:35) [6]

> [драйвер ODBC microsoft access]
> Может все дело в дровах, а не в запросе?
именно в дровах, oledb-шному jet-ту паралельно что одинарные что двойные кавычки. а вот в odbc делается дополнительная проверка запроса (в итоге все одно запрос идет в Jet (имхо, обьяснял уже здесь почему так думаю)) вот, а для него двойные кавычки "смертельны", не понимает он их как текст.


 
sergeymist   (2005-01-29 14:53) [7]

Спасибо!!! как я понял, дабы обойти двойные кавычки, стоит юзать параметры...


 
fess ©   (2005-01-30 11:57) [8]

Не обязательно использовать параметры!!! ;)
Это обходится очень легко! ;)
Покажу на твоем примере ;).

adoquery2.SQL.Clear;
adoquery2.SQL.Add("INSERT INTO own (own_fio,own_dom,own_tel) VALUES (+#39+"petrov"+#39+","+#39+"moskva"+#39+","+#39+"1234567"+#39)");
adoquery2.ExecSQL;
#39 - код одинарных кавычек, без кавычек воспринимаются только числа!
Удачи! ;)


 
fess ©   (2005-01-30 11:58) [9]

Пардон! Лишний плюс после VALUES (+!!!


 
Anatoly Podgoretsky ©   (2005-01-30 12:05) [10]

fess ©   (30.01.05 11:57) [8]
Ну раз предлагаешь динамические запросы, то и делать их надо более системно.

adoquery2.SQL.Add("INSERT INTO own (own_fio,own_dom,own_tel) VALUES(" + QuotedStr("petrov")" + "," + QuotedStr("moskva")  + "," + QuotedStr("1234567") + ")");


 
fess ©   (2005-01-30 13:05) [11]

Спасибо за поправку! "Есть многое на свете друг Горацио, чего не снилась даже мудрецам"... ;) Я этого не знал...


 
Соловьев ©   (2005-01-31 10:45) [12]


> Не обязательно использовать параметры!!! ;)

наверное с датами никогда не работал.
Параметры и только параметры.



Страницы: 1 вся ветка

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
1-1107954615
Ihor Osov'yak
2005-02-09 16:10
2005.02.27
Посягательство на святое… То бишь (шепотом) - компилятор


1-1108312356
Alex31
2005-02-13 19:32
2005.02.27
Как открыть Word и передать "ему" имя файла?


1-1107974291
Gost
2005-02-09 21:38
2005.02.27
Как в переменную загнать колличество строк в таблице?


1-1108022785
O.O
2005-02-10 11:06
2005.02.27
Смена шрифтов


4-1105596574
JohnKorsh
2005-01-13 09:09
2005.02.27
Как грамотно принимать данные на LPT?