【发布时间】:2019-08-31 07:47:22
【问题描述】:
我正在编写一个 WPF 应用程序,有时我试图通过如下过程向我的数据库中添加新行:
CREATE PROCEDURE dbo.InsertStudent
@IdStudent INT,
@FirstName VARCHAR(50),
@LastName VARCHAR(50),
@Address VARCHAR(50),
@IndexNumber VARCHAR(50),
@IdStudies INT
AS
SET NOCOUNT ON
INSERT INTO [dbo].[apbd.Student]
([IdStudent]
,[FirstName]
,[LastName]
,[Address]
,[IndexNumber]
,[IdStudies])
VALUES
(@IdStudent
,@FirstName
,@LastName
,@Address
,@IndexNumber
,@IdStudies)
但是每当我要使用它时,我都会遇到错误:
SQL71502:过程:[dbo].[InsertStudent] 对对象 [dbo].[apbd.Student] 有一个未解析的引用。
我一直在寻找解决方案,但我发现只是通过右键单击 References 等来添加对数据库的引用,但我的解决方案资源管理器中没有此选项。
也许我在错误的地方寻找它,但右键单击后我唯一的选择是这样的:
- 添加参考...
- 添加对服务的引用...
- 添加连接/串联/累积(或者无论如何应该翻译)服务
- 添加分析器...
- 管理 NuGet 数据包...
关于在数据库中创建表的代码:
CREATE SCHEMA apbd;
GO
-- tables
-- Table: Student
CREATE TABLE apbd.Student (
IdStudent int NOT NULL IDENTITY,
FirstName nvarchar(100) NOT NULL,
LastName nvarchar(100) NOT NULL,
Address nvarchar(100) NOT NULL,
IndexNumber nvarchar(50) NOT NULL,
IdStudies int NOT NULL,
CONSTRAINT Student_pk PRIMARY KEY (IdStudent)
);
-- Table: Student_Subject
CREATE TABLE apbd.Student_Subject (
IdStudentSubject int NOT NULL IDENTITY,
IdStudent int NOT NULL,
IdSubject int NOT NULL,
CreatedAt datetime NOT NULL,
CONSTRAINT Student_Subject_pk PRIMARY KEY (IdStudentSubject,IdStudent,IdSubject)
);
-- Table: Studies
CREATE TABLE apbd.Studies (
IdStudies int NOT NULL IDENTITY,
Name nvarchar(100) NOT NULL,
CONSTRAINT Studies_pk PRIMARY KEY (IdStudies)
);
-- Table: Subject
CREATE TABLE apbd.Subject (
IdSubject int NOT NULL IDENTITY,
Name nvarchar(100) NOT NULL,
CONSTRAINT Subject_pk PRIMARY KEY (IdSubject)
);
-- End of file.
【问题讨论】:
-
你的表名真的是[apbd.Student]吗?或者应该是 [apbd].[Student] 甚至是 [apbdStudent]
-
嗯,错误意味着事实并非如此......
-
如何发布为该表创建的语句
-
如果将
[dbo].[apbd.Student]更改为apbd.Student会发生什么?那它有用吗? -
@mjwills 我确实重新测试了它,它很抱歉造成混乱......我想我之前一定放了其他东西,但起初我 100% 确定我确实写了 [apbd]。 [学生]。但是,感谢您的时间和帮助:)。
标签: c# sql-server wpf visual-studio