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

Вниз

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

 
Ира   (2004-09-03 13:27) [0]

Подскажите пожалуйста, как решить следующую проблему:
в таблицу через форму ввода вносятся данные о клиенте: фамилия, номер ИНН, номер расчетного счета, контактный телефон и т.д. проблема в том, что не у всех клментов есть весть перечень данных, т.е. некоторые поля могут оставаться пустыми, но если делать следующий запрос на вставку, то при наличии пустых параметров вызывается исключение:
sql.SQL.Add("INSERT INTO clients (name, inn, rs, tel) ");
sql.SQL.Add("VALUES (:namer, :inn, :rs, :tel) ");
sql.Parameters.ParseSQL(sql.SQL.Text, True);
sql.Parameters.ParamByName("name").Value := Name.text;
sql.Parameters.ParamByName("inn").Value := INN.Text;
sql.Parameters.ParamByName("rs").Value := Account.text;
sql.Parameters.ParamByName("tel").Value := Tel.text;
try
 sql.ExecSQL;
except
 on E:Exception do ShowMessage(E.Message);
end;


 
Роман Снегирев   (2004-09-03 13:32) [1]

а зачем вообще делать SQL.ADD(insert into ...)?, ты же дельфе программируешь!!! есть методы инсерт соответствующих компонентов


 
Ира   (2004-09-03 13:33) [2]

Каких? Подскажите плиз...


 
Klerk   (2004-09-03 13:34) [3]

У меня тот же вопрос в этом форуме:(


 
Zacho ©   (2004-09-03 13:36) [4]

2 Ира   (03.09.04 13:27) :
Вместо Value используй AsString

2 Ира   (03.09.04 13:33) [2]:

TQuery, например. :)


 
Sergey13 ©   (2004-09-03 13:44) [5]

2Ира   (03.09.04 13:27)
А так не получится?
if Tel.text="" then sql.Parameters.ParamByName("tel").Clear


 
Ира   (2004-09-03 13:48) [6]

2Sergey13
А с этим что делать:
sql.SQL.Add("VALUES (:namer, :inn, :rs, :tel) "); ???? - вот ведь они еще где эти параметры-то...


 
Sergey13 ©   (2004-09-03 13:53) [7]

2 [6] Ира   (03.09.04 13:48)
Ничего не делай. Clear ставит параметр в NULL. Он и запишется в БД.


 
Ира   (2004-09-03 14:11) [8]

if Tel.text="" then sql.Parameters.ParamByName("tel").Clear
говорит Undeclaired Identifier Clear :((((


 
Ира   (2004-09-03 14:15) [9]

Тоже самое говорит при:
sql.Parameters.ParamByName("tel").AsString -
undeclaired indentifier AsString;


 
Sergey13 ©   (2004-09-03 14:15) [10]

2[8] Ира   (03.09.04 14:11)
А что за компонент у тебя sql? Кстати зачем так называть то?


 
Ира   (2004-09-03 14:16) [11]

var sql: TADOQuery;
.....
sql:=TADOQuery.Create(nil);


 
Sergey13 ©   (2004-09-03 14:19) [12]

А, сори. Я про TQuery. АДО не рулил ни разу.


 
Ира   (2004-09-03 14:32) [13]

Что же делать??? Кто-нибудь подскажет?


 
Роман Снегирев   (2004-09-03 15:16) [14]

Что же делать??? Кто-нибудь подскажет?
стреляться, что же еще. а в адо наверняка есть какие-то подобные конструкции, а вообще, что у тебя за БД, может вообще стоит отказаться от адо?


 
AndB ©   (2004-09-03 15:46) [15]

а так?:
sqlStr := "INSERT INTO clients (name, inn, rs, tel)  VALUES (";
if (Trim(Name.text) = "") then sqlStr := sqlStr + "NULL"+#44 else sqlStr := sqlStr + #39+Name.text+#39#44;
if (Trim(INN.Text) = "") then sqlStr := sqlStr + "NULL"+#44 else sqlStr := sqlStr + #39+INN.Text+#39#44;
if (Trim(Account.text) = "") then sqlStr := sqlStr + "NULL"+#44 else sqlStr := sqlStr + #39+Account.text+#39#44;
if (Trim(Tel.text) = "") then sqlStr := sqlStr + "NULL" else sqlStr := sqlStr + #39+Tel.text+#39;
sqlStr := sqlStr + ")";
sql.SQL.Clear;  sql.SQL.Add(sqlStr);
sql.ExecSQL;

а что? даже INN - текст?


 
Nikolay M. ©   (2004-09-03 16:06) [16]


> Ира   (03.09.04 14:11) [8]
> if Tel.text="" then sql.Parameters.ParamByName("tel").Clear
>
> говорит Undeclaired Identifier Clear :((((

.Value := nil?



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

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

Наверх




Память: 0.5 MB
Время: 0.024 c
14-1095256320
QuasiLamo
2004-09-15 17:52
2004.10.03
Сколько стоит беспроводная сеть?


4-1093451780
Роман
2004-08-25 20:36
2004.10.03
опять список всех окон запущенных в системе


14-1094822954
jack128
2004-09-10 17:29
2004.10.03
Как скопировать содержимое окна CPU


1-1095424104
Jay
2004-09-17 16:28
2004.10.03
TMainMenu


1-1095267612
appendix
2004-09-15 21:00
2004.10.03
выравнивание текста в StringGrid