2012-03-22 66 views
0

表(條碼)結構:的SQL Server CE更新不與nvarchar的工作作爲PK

Barcode - nvarchar(30) Unique, PK 
ProductID - bigint 

如果我運行更新: 更新條碼SET的ProductID = 1000 WHERE的ProductID = 2 然後這個作品。所以我知道我正在查看正確的數據庫並且更新命令應該可以工作。

但是 更新條碼SET產品ID = 1000其中條碼='123456789' 不起作用,沒有錯誤但沒有更改數據庫。

我拉我的頭髮,但這也沒有幫助。

這是SQLCE的問題嗎?

如果任何人都可以提供幫助,那會很棒! 感謝

+0

是否相應的記錄存在,嘗試選擇條碼='123456789'的位置。看起來大部分情況是,表中沒有匹配的記錄來更新 – gprasant 2012-03-22 15:05:25

+0

是的,記錄存在。 – jimmy 2012-03-22 15:15:44

回答

1

請檢查條形碼,其中產品編號= 1000沒有空格...

+0

有沒有一種方法可以在查詢中做到這一點?即修剪([productID])= 1000 – jimmy 2012-03-22 14:58:53

+0

因此,查看數據庫時,該字段沒有空白(選擇該字段,只有代碼被突出顯示,沒有任何後面)。 然後,我然後嘗試rtrim([productID])= 1000,它做了更新。 感謝您指點我正確的方向。 – jimmy 2012-03-22 15:17:51

0

你可以只是做WHERE Barcode LIKE '%123456789%'如果有空格前後'123456789'