2016-04-25 59 views
-3

我稱之爲「SchoolRecords」一個數據庫,我使用下面的代碼創建一個表:表,但不承認

Create TABLE tblRoom (
ID nvarchar (2) Primary Key, 
RoomType nvarchar (8), 
Capacity numeric (3) 
) 

創建表,因爲它出現在對象資源管理器中,但是當我嘗試插入信息時,它會在表名稱下方顯示一條紅線,當它懸停在它上面時,它會顯示'無效的對象名稱't​​blRoom'。我的代碼如下:

insert into tblRoom values ('B115[ca]','LT',100) 
insert into tblRoom values ('B206[ca]','CL',36) 

當exectuting代碼出現此錯誤:

Msg 8152, Level 16, State 4, Line 1 
String or binary data would be truncated. 
The statement has been terminated. 
+2

解決您只需要更新您的智能感知緩存紅色squigglies。 ctrl + shift + r –

回答

2

你的問題不是「無效對象名稱」,這可能是在設計一個假陽性錯誤(它發生)。您的問題是

字符串或二進制數據將被截斷。

定義您的ID作爲nvarchar (2),但你要的東西串在那裏的路了兩個字符:「B115 [CA]」。要麼將您的ID的大小增加到nvarchar(8)或更大,要麼縮小您的ID。

1

這是因爲查詢的順序與您在創建表格時所做的聲明的順序相同。使用您的查詢,您嘗試在nvarchar(2)類型的列中插入nvarchar(8)。

插入順序必須是ID,RoomType和Capacity。

這樣做的另一種方法是declarating插入的順序:

INSERT INTO tblRoom 
(RoomType, ID, Capacity) 
VALUES ('B115[ca]','LT',100)