Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];

Вниз

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

 
Ира   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.029 c
14-1094724754
DiamondShark
2004-09-09 14:12
2004.10.03
Тест клиента


4-1093413745
sohat
2004-08-25 10:02
2004.10.03
хук на сообщения об ошибке, возможно ли такое


1-1095425060
HollowMan
2004-09-17 16:44
2004.10.03
Как сделать шестнадцатиричное присвоение переменных byte:=$string


1-1095247693
DKazurov
2004-09-15 15:28
2004.10.03
Передача параметров в поток


4-1093116755
dRake
2004-08-21 23:32
2004.10.03
Редактор ресурсов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский