Главная страница
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.234 c
14-1095058904
kull
2004-09-13 11:01
2004.10.03
Система создания документации...


14-1095092172
}|{yk
2004-09-13 20:16
2004.10.03
Сабо обозвал Интернет "сборищем бомжей с Бессарабки"


14-1095306382
KilkennyCat
2004-09-16 07:46
2004.10.03
Даж не верится...


1-1095742175
OlegM
2004-09-21 08:49
2004.10.03
Как из потока данные загнать в переменную типа string?


8-1089107085
Aplay
2004-07-06 13:44
2004.10.03
Приближение и отдалиние изображении