我有用于过滤 参数很多存储过程我有2个的EditText Cardnumber和Carcode两者thoose的需要填补之前,我可以得到任何结果如何在某些参数排除或的setNull如果EditText上是空的
所以我的问题是如何获得的结果,如果其中一个是空的,或者如果它们都是空
protected String doInBackground(String... params) {
try {
Connection con = connectionClass.CONN();
if (con == null) {
z = "Error in connection with SQL server";
} else {
doerTicket = setingPreferences.getString("doerTicket", "");
CallableStatement cs = null;
String query = "exec [file].[usp_getParts] \[email protected]_ItemNumber = ?,\[email protected]_DoerTicket = ?,\[email protected]_CarItemNumber = ?;
cs = con.prepareCall(query);
cs.setString(1, Cardnumber);//edittext(@p_ItemNumber)
cs.setString(2, doerTicket);
cs.setString(3, Carcode);//edittext(@p_CarItemNumber)
ResultSet rs = cs.executeQuery();
while (rs.next()) {
}
} catch (Exception ex) {
z = "Exceptions";
}
return z;
}
}
我目前在SP利用参数
ALTER PROCEDURE [file].[usp_getParts]
, @p_ItemNumber VARCHAR (3000) = NULL
, @p_CarItemNumber NVARCHAR (20) = NULL
, @p_DoerTicket VARCHAR (200) = NULL
或者我还可以通过使用
EXEC @return_value = [file].[usp_getParts]
@p_CarItemNumber = NULL,
@p_ItemNumber = N'*****',
@p_DoerTicket = N'0x01000000f475bad9ea7d1f1d6b142a1b8cc95ce74b3f387cb1388a80097f35a8c1e9131ffa7f4b833553bede4a3abec49254373d06fb3294c60c6d24',
@p_SearchSessionID = @p_SearchSessionID OUTPUT,
@p_TotalRows = @p_TotalRows OUTPUT
不知何故,你的问题很混乱:你写这两个领域都必须填补,但你问如何得到结果,如果其中一个或两个都是空的!? – Tyron78
只是澄清:你是否正在寻找一种方法来避免设置语句参数,如果任何'params'为空? –
是的,因为我需要让他们都填充之前,我可以从中得到结果 –