C# 如何使用我的查询在ASP.NET(Visual Studio)中修复此消息?

C# 如何使用我的查询在ASP.NET(Visual Studio)中修复此消息?,c#,sql,asp.net,sql-server,C#,Sql,Asp.net,Sql Server,这是我在SQL中的脚本,但当我尝试在ASP.NET(visual studio)中使用表单视图时。我在SQLServerManagementStudio工作 CREATE TABLE [odl].[MaterialDetail] ( [Material] [nvarchar](50) NOT NULL, [PlantID] [nvarchar](50) NOT NULL, [LabelPos] [char](1) NOT NULL, [UseProdLabel]

这是我在SQL中的脚本,但当我尝试在ASP.NET(visual studio)中使用表单视图时。我在SQLServerManagementStudio工作

CREATE TABLE [odl].[MaterialDetail]
(
    [Material] [nvarchar](50) NOT NULL,
    [PlantID] [nvarchar](50) NOT NULL,
    [LabelPos] [char](1) NOT NULL,
    [UseProdLabel] [tinyint] NOT NULL,
    [UseContLabel] [tinyint] NOT NULL,
    [UseTote] [tinyint] NOT NULL,
    [COO] [nvarchar](50) NOT NULL,
    [LabelsPerCont] [decimal](9, 2) NOT NULL,
    [TareWeight] [decimal](9, 2) NOT NULL,
    [AltTareWeight] [decimal](9, 2) NOT NULL,
    [ModDate] [datetime] NOT NULL,
    [CreateDate] [datetime] NOT NULL,
    [rowguid] [uniqueidentifier] ROWGUIDCOL  NOT NULL,
 CONSTRAINT [PK_MaterialDetail] PRIMARY KEY CLUSTERED 
(
    [Material] ASC,
    [PlantID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [odl].[MaterialDetail] ADD  CONSTRAINT [DF_MaterialDetail_Material]  DEFAULT ('') FOR [Material]
GO

ALTER TABLE [odl].[MaterialDetail] ADD  CONSTRAINT [DF_MaterialDetail_PlantID]  DEFAULT ('') FOR [PlantID]
GO

ALTER TABLE [odl].[MaterialDetail] ADD  CONSTRAINT [DF_MaterialDetail_LabelPos]  DEFAULT ('0') FOR [LabelPos]
GO

ALTER TABLE [odl].[MaterialDetail] ADD  CONSTRAINT [DF_MaterialDetail_UseProdLabel]  DEFAULT ((0)) FOR [UseProdLabel]
GO

ALTER TABLE [odl].[MaterialDetail] ADD  CONSTRAINT [DF_MaterialDetail_UseContLabel]  DEFAULT ((1)) FOR [UseContLabel]
GO

ALTER TABLE [odl].[MaterialDetail] ADD  CONSTRAINT [DF_MaterialDetail_UseTote]  DEFAULT ((0)) FOR [UseTote]
GO

ALTER TABLE [odl].[MaterialDetail] ADD  CONSTRAINT [DF_MaterialDetail_COO]  DEFAULT ('') FOR [COO]
GO

ALTER TABLE [odl].[MaterialDetail] ADD  CONSTRAINT [DF_MaterialDetail_LabelPerCont]  DEFAULT ((2)) FOR [LabelsPerCont]
GO

ALTER TABLE [odl].[MaterialDetail] ADD  CONSTRAINT [DF_MaterialDetail_TareWeight]  DEFAULT ((0)) FOR [TareWeight]
GO

ALTER TABLE [odl].[MaterialDetail] ADD  CONSTRAINT [DF_MaterialDetail_AltTareWeight]  DEFAULT ((0)) FOR [AltTareWeight]
GO

ALTER TABLE [odl].[MaterialDetail] ADD  CONSTRAINT [DF_MaterialDetail_ModDate]  DEFAULT (getdate()) FOR [ModDate]
GO

ALTER TABLE [odl].[MaterialDetail] ADD  CONSTRAINT [DF_MaterialDetail_CreateDate]  DEFAULT (getdate()) FOR [CreateDate]
GO

ALTER TABLE [odl].[MaterialDetail] ADD  CONSTRAINT [DF_MaterialDetail_rowguid]  DEFAULT (newsequentialid()) FOR [rowguid]
GO
当我尝试测试我的查询时,我得到了这个错误

执行查询时出错。请检查 命令以及参数的类型和值(如果存在) 并确保它们是正确的无效对象名称“MaterialDetail”


首先,SQL代码不会生成任何数据或结果。它只是摆了一张全新的空桌子。我不知道您希望表单视图显示什么,因为这里没有数据

其次,如果表已经存在于数据库中,或者您正在添加的约束已经存在,我希望这段代码在第二次运行时抛出一个错误,因为您正在尝试创建一个已经存在的对象


最后,该SQL广泛使用了
GO
分隔符
GO
不是SQL语言的一部分。它是SQLServerManagementStudio的一项功能,用于将查询分为不同的批处理。
GO
关键字从未发送到数据库服务器,如果发送到数据库服务器,Sql server将不知道如何处理它。

您的数据库是什么?Sql?是的,对不起,我正在进行Sql Server管理研究上述查询在我的Sql Server 2008 R2上运行良好。您有名为“odl”的模式吗?是的,问题是当我尝试在visual Studio中使用窗体上的DB视图时,请在此处更新您的select查询。