2012-07-12 71 views
0

我在SQL中使用實體框架+ SQl 2008 + .Net Framework 4 + SP。函數錯誤EF

and crate功能在EF中插入值到sql。

來回EX: 功能導入名稱:InsertStudent

stroed程序名稱:InsertStudent

返回一個集合:標量:的Int32

SP:

create proc InsertStudent 
(
@DateReg datetime, 
@stdLastName nvarchar(50), 
@stdFirstName nvarchar(50), 
@Description nvarchar(500) 
) 
INSERT INTO Student(DateReg,stdLastName,stdFirstName,[Description]) 
VALUES (@DateReg,@stdLastName,@stdFirstName,@Description) 

日期保存在SQL中,但功能EF錯誤:

商店數據提供者返回的數據讀取器沒有足夠的列來查詢請求。

+0

什麼是你的學生表的主鍵?你在這個語句中插入該字段的值? – DevT 2012-07-12 04:05:04

+1

什麼查詢?這是一個INSERT語句。它將返回的唯一數據是受影響的行數。 – 2012-07-12 04:07:23

+0

@ Til86:student表中的主鍵= stdID int – 2012-07-12 04:18:32

回答

0

我認爲你需要爲through sp插入主鍵值。

create proc InsertStudent 
(
    @stdID int, 
    @DateReg datetime, 
    @stdLastName nvarchar(50), 
    @stdFirstName nvarchar(50), 
    @Description nvarchar(500) 
) 
INSERT INTO Student(stdID,DateReg,stdLastName,stdFirstName,[Description]) 
VALUES (@stdID,@DateReg,@stdLastName,@stdFirstName,@Description) 
+0

stdID具有標識和主鍵。 – 2012-07-12 04:26:58

+0

stdID具有標識和主鍵。在sql中沒有插入值的problam。 我有類似的需求SCOPE_IDENTITY()。爲獲取stdID中的最後一個值在插入值 – 2012-07-12 04:34:09

+0

沒有sp之後,請在sql查詢窗口中嘗試此操作,並檢查其是否可能。 INSERT INTO Student(DateReg,stdLastName,stdFirstName,[Description]) VALUES('07 -12-2012','aa','bb','abc') – DevT 2012-07-12 04:38:01