Firebird 2.5 sql код ошибки = -104 токен неизвестен - PullRequest
0 голосов
/ 29 октября 2018

У меня возникла проблема при попытке выбрать данные из базы данных Firebird, вот мой код:

string SQLCash = "SELECT sum(t2.Cash-Change)" +
            "FROM dbFBHdr t1, dbFBCollection t2" +
            "WHERE t1.Branch = t2.Branch AND" +
            "t1.CashNo = t2.CashNo AND" +
            "t1.CashDate >= '08/10/2018 00:00:00' AND" +
            "t1.CashDate <= '08/10/2018 23:59:59' AND" +
            "t1.Status = 'CLOSED'";
FbCommand cmdCASH = new FbCommand(SQLCash, FbCon);
cmdCASH.ExecuteNonQuery();
FbDataReader readerCASH = cmdCASH.ExecuteReader();
while (readerCASH.Read() == true)
{
   PDC.CASH += (reader["Cash"].ToString());
}
this.txtCash.Text = PDC.CASH;

Но с этим кодом у меня ошибка, но я не знаю, как ее решить.
Я прилагаю свою ошибку ниже:

enter image description here

1 Ответ

0 голосов
/ 29 октября 2018

Я запустил твой код внутри моего проекта и это результат

"SELECT sum(t2.Cash-Change)FROM dbFBHdr t1, dbFBCollection t2WHERE t1.Branch = t2.Branch ANDt1.CashNo = t2.CashNo ANDt1.CashDate >= '08/10/2018 00:00:00' ANDt1.CashDate <= '08/10/2018 23:59:59' ANDt1.Status = 'CLOSED'"

Как вы можете видеть в приведенном выше коде пропущены пробелы между добавлением строк, либо добавьте его в начале каждой строки или в конце.

также, поскольку вы используете несколько строк, вы можете использовать @ перед строкой, что позволит вам иметь несколько строк в одной строке, например

string SQLCash = @"SELECT sum(t2.Cash-Change)
        FROM dbFBHdr t1, dbFBCollection t2
        WHERE t1.Branch = t2.Branch AND
        t1.CashNo = t2.CashNo AND
        t1.CashDate >= '08/10/2018 00:00:00' AND
        t1.CashDate <= '08/10/2018 23:59:59' AND
        t1.Status = 'CLOSED'";
...