【问题标题】:How can I write an SQLite query in C#?如何在 C# 中编写 SQLite 查询?
【发布时间】:2015-09-07 18:06:11
【问题描述】:

一开始我想写,我使用 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')) );

【问题讨论】:

    标签: c# sqlite


    【解决方案1】:

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

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

    【讨论】:

    • 好的,但是我还是不知道怎么写这个查询
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多