问题描述
求助,报了个异常“在结果列列表中多次出现列名'D_StoneWeight'”视图如下:SELECTD_Code,D_Name,D_ZJM,D_ProNameC,D_ProName,D_GoldWeight,D_StoneWeight,D_StoneNum,D_Shape_Code,D_XF_Code,D_XK,D_PJ,D_JGF,D_GYSDM,D_GYSKH,D_DesignDate,D_Attribute,D_Memo,StopFlag,D_StoneWeightASD_StoneWeight1,D_PriceFROMdbo.D_NewStyle界面上有两个文本框,分别输入D_StoneWeight和D_StoneWeight1,希望高手帮忙分析分析
解决方案
解决方案二:
你的数据库是什么?select语句看不出问题。
解决方案三:
用的是sqlserver2005我insert的存储过程是这样写的:ALTERPROCEDURE[dbo].[insert_D_Style](@D_Code[nvarchar](20),@D_Name[nvarchar](20)=N'',@D_ZJM[nvarchar](10)=N'',@D_ProNameC[nvarchar](20)=N'',@D_ProName[nvarchar](30)=N'',@D_GoldWeight[float]=0,@D_StoneWeight[float]=0,@D_StoneWeight1[float]=0,@D_StoneNum[int]=0,@D_Shape_Code[nvarchar](2)=N'',@D_XF_Code[nvarchar](2)=N'',@D_XK[nvarchar](64)=N'',@D_PJ[nvarchar](64)=N'',@D_JGF[money]=0,@D_GYSDM[nvarchar](10)=N'',@D_GYSKH[nvarchar](10)=N'',@D_DesignDate[datetime]=getdate,@D_Attribute[int]=0,@D_Memo[nvarchar](64)=N'',@StopFlag[int]=1,@ResultintOUTPUT)ASINSERTINTO[dbo].[D_Style]([D_Code],[D_Name],[D_ZJM],[D_ProNameC],[D_ProName],[D_GoldWeight],[D_StoneWeight],[D_StoneWeight1],[D_StoneNum],[D_Shape_Code],[D_XF_Code],[D_XK],[D_PJ],[D_JGF],[D_GYSDM],[D_GYSKH],[D_DesignDate],[D_Attribute],[D_Memo],[StopFlag])VALUES(@D_Code,@D_Name,@D_ZJM,@D_ProNameC,@D_ProName,@D_GoldWeight,@D_StoneWeight,@D_StoneWeight1,@D_StoneNum,@D_Shape_Code,@D_XF_Code,@D_XK,@D_PJ,@D_JGF,@D_GYSDM,@D_GYSKH,@D_DesignDate,@D_Attribute,@D_Memo,@StopFlag)SET@Result=@@error
解决方案四:
晕,看你前面贴的内容D_StoneWeight,D_StoneWeight1这两个列来源于一个字段D_StoneWeightinsert的时候怎么还要insert两次?这不对吧。
解决方案五:
我是插入到视图里面啊,应该没问题吧?
解决方案六:
不要对视图做插入操作。视图通常只作为获取数据来使用,而且视图可以从多个表来联合形成,这时就不好更新了。建议,增、删、改都在表上做。取数可以从视图上来做。
解决方案七:
视图只是方便查询的,视图只是一个虚拟表,是不存在的
解决方案八:
不建议在视图上更新数据!
解决方案九:
把顺序换下,别名放在前面试试.
解决方案十:
不要出现这样的D_StoneWeightASD_StoneWeight1D_StoneWeightASddd(不要和前面的一样+其他)
解决方案十一:
视图上更新数据