繁体   English   中英

如何在C#中编写SQLite查询?

[英]How can I write an SQLite query in C#?

首先,我想写的是使用SQLite数据库。 我有那张桌子:

CREATE TABLE Raty (            -- Installments
    ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,
    RataPrognDataSplaty  DATE, -- the projected date of repayment
    RataDataWplaty       DATE, -- date of payment
    RataMonit            DATE, -- that and below are reminder dates, when it's write up
    RataWezw1            DATE, -- 
    RataWezw2            DATE, -- 
    RataWezwOstat        DATE, -- 
    RataWezwDoWydania    DATE, -- 
    RataWezwDoPracodawcy DATE  -- 
);

我为贷款编写程序,如果某些客户不付款,我会设置要付款的提醒。

例如,我有一天的20个客户列表,但今天没有用不同的延迟时间(IN('7','14','28','42'))付款。 它们显示在表格中。 我得到第一个,根据他不付款的天数(例如7天)写提醒。 例如,在RataMonit列中,我写了今天的日期。 这是主要问题,我希望这个客户从清单20个客户中消失,直到他付款或下次提醒-14天。

我写了该查询,但是没有用。

SELECT *
FROM Raty
WHERE RataDataWplaty IS NULL AND 
CAST(CAST((strftime('%s', 'now') - strftime('%s', RataPrognDataSplaty)) AS REAL)/60/60/24 AS INT) IN ('7', '14', '28', '42')
 AND ( 
(RataWezwDoPracodawcy IS NULL OR RataWezwDoPracodawcy == DATE('now')) OR 
(RataWezwDoWydania IS NULL OR RataWezwDoWydania == DATE('now')) OR 
(RataWezwOstat IS NULL OR RataWezwOstat == DATE('now')) OR 
(RataWezw2 IS NULL OR RataWezw2 == DATE('now')) OR 
(RataWezw1 IS NULL OR RataWezw1 == DATE('now')) OR 
(RataMonit IS NULL OR RataMonit == DATE('now')) );

CAST(... AS INT)返回一个数字。 '7'是一个字符串。 这两个永远不会相等。

使用... IN (7, 14, 28, 42)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM