提前谢谢你:) 我使用SQL Plus作为我的数据库,使用Visual Studio 2013作为我的前端。在任何地方都有WHERE语句为
WHERE FNAME = @FNAME
将参数传递给
this.DataTable1TableAdapter.Fill(this.DataSet2.DataTable1,fname1.Text);
但除非我做
,否则它对我不起作用WHERE FNAME = :FNAME
当我在Visual Studio中构建查询但无法在线查找文档时,我想添加过滤器。之前我使用过mySQL,在PHP / HTML中使用@时,我知道如何使用简单的过滤器。 示例我想使用通配符%_:
SELECT * FROM Customers
WHERE (FNAME Like @FNAME + '%')
但是我在下面尝试了同样的事情而没有运气,因为我不知道为什么或规则:作为参数
SELECT * FROM Customers
WHERE (FNAME Like :FNAME + '%')
有人能指出我正确的方向吗?如果您需要更多信息,请告诉我。 谢谢,我为识别SQL语句的格式道歉。
答案 0 :(得分:0)
在PHP中,尝试类似:
$param = "myname%";
$stmt = $db->prepare("SELECT * FROM Customers WHERE FNAME LIKE :FNAME");
$stmt->bind_param("FNAME", $param);
因此它将被评估为SELECT * FROM Customers WHERE FNAME LIKE 'myname%'
简而言之,在传递参数时,使用通配符传递它,并使用命名参数保留SELECT SQL clean。