Hmmmm
сто лет одиночества | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Привет! Попробовал перевести проект на nexusdb 3 Столкнулся со следующей проблемой, в отличие от Absolute Database: Цитата: //NAME String //IVID Integer (обязательное) //DATESTART DATE //M1 Integer (необязательное) //SQL для Absolute Database with dm.q_spr do begin Active := False; SQL.Clear; SQL.Add('INSERT INTO SER (NAME,IVID,DATESTART,M1)'); SQL.Add('VALUES (' + QuotedStr(Trim(ed_name.Text))); SQL.Add(',' + QuotedStr(cb_iv.Text)); SQL.Add(',' + QuotedStr(DateToStr(d_start.Date))); SQL.Add(',' + QuotedStr(ed_m1.Text)+')'); ExecSQL; end; //SQL для nexusdb with dm.q_spr do begin Active := False; SQL.Clear; if ed_m1.Text = '' then SQL.Add('INSERT INTO SER (NAME,IVID,DATESTART)') else SQL.Add('INSERT INTO SER (NAME,IVID,DATESTART,M1)'); SQL.Add('VALUES (' + QuotedStr(Trim(ed_name.Text))); SQL.Add(',' + QuotedStr(cb_iv.Text)); SQL.Add(',DATESTART = DATE'+QuotedStr(FormatDateTime('YYYY-MM-DD',d_start.Date))); if ed_m1.Text <> '' then SQL.Add(',' + QuotedStr(ed_m1.Text)+')') else SQL.Add(')'); ExecSQL; end; Как видно, всё усложнилось, с датой вообще никак по другому не получилось | PS: Прошу не советовать 0 вместо Null, спасибо. Может в SQL есть вариант для INSERT/UPDATE как для SELECT : <CASE WHEN M1=0 THEN NULL ELSE M1 END>
---------- Умер Габриэль Гарсия Маркес, мой кумир, волшебник описания чувств и мыслей |
| Всего записей: 4683 | Зарегистр. 24-03-2002 | Отправлено: 09:04 30-01-2016 | Исправлено: Hmmmm, 09:57 30-01-2016 |
|