我有像这样的代码
<?php
$mdb_file = realpath('../PEB_MDB/dbPEB.mdb');
$dsn='Driver={MSAccess};DBQ='.$mdb_file.';';
//$mdb_file = $_SERVER['DOCUMENT_ROOT']."/sapfiles/web_supp/PEB_MDB/dbPEB.mdb";
$user = "";
$password = "MumtazFarisHana";
$conn = odbc_connect($dsn,$user,$password);
var_dump($conn);
$sql = "SELECT a.NAMABELI,s.URBRG1,a.NAMABELI,a.NEGBELI,a.NEGTUJU,a.CAR,a.KDKTR,a.PELMUAT,
a.NODAFT,a.TGDAFT,a.FOB,d.NoDok,d.TgDok FROM (tblpebhdr AS a INNER JOIN tblpebdok AS d
ON a.CAR = d.CAR) INNER JOIN tblpebdtl AS s ON a.CAR = s.CAR
WHERE d.KdDok='380' and a.TGDAFT>=#01/jan/2018# AND a.TGDAFT<=#01/Apr/2018#";
$rs = odbc_exec($conn, $sql) or die(odbc_errormsg());
var_dump($rs);
?>
当我尝试运行这些代码时,它说Couldn't parse SQL
,如果我更改我的查询,例如SELECT * FROM tblpebhdr
它完全正常工作,但为什么我的第一个查询根本不起作用?是因为标签(#)?或其他什么?
答案 0 :(得分:0)
您的语法是正确的访问SQL语法,因此请尝试删除一个字段,您应该找到有问题的字段名称。
此外,永远不要在过滤器中使用文本月份,因为名称应该被本地化,并且 - 当接受“反向”US格式时,因此如果TGDAFT是数据类型DateTime,则不能成为错误的来源 - 养成使用ISO序列的习惯yyyy-mm-dd:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if textField == self.YourTextFieldName{
Search()
}
}