如何執行我的存儲過程。 程序工作時,我直接從SQL執行它,但是當我做到這一點從我的平板電腦不工作如何從預處理執行存儲過程
String itemshelf = DBshelf;// edittext for putting in values on set
String itemcard = DBcard;// edittext for putting in values on where
PreparedStatement preparedStatement = con.prepareStatement("EXEC [dbo].[spUpd_Location]");
preparedStatement.executeUpdate();
我的存儲過程
ALTER PROCEDURE [dbo].[spUpd_Location]
@itemshelf nvarchar(1000)=NULL
, @itemcard nvarchar(1000)=NULL
AS
SET NOCOUNT ON
UPDATE PS
SET [ShelfNumber][email protected]
FROM [file].[ItemPart] PS
JOIN [file].[Item] P ON P.[id] = PS.[id]
where [ItemNumber][email protected]
什麼是錯誤? executeUpdate看起來不對,因爲這不是一個直接的更新 –
我沒有得到任何錯誤,但它不會改變數據庫中的值 –
@itemcard是NULL,所以對於所有的行,相等性測試是錯誤的,用2個參數調用它? (如果你想與null使用IS NULL NULL) –