我正按照一本书做一个 图书馆管理系统进行到创建存储过程的时候 有一传查询进行不下去了=======================================================================
CREATE PROCEDURE [BookModify]
(@BID [int],
@BISBN [varchar](50),
@BName [varchar](50),
@BAuthor [varchar](50),
@BTheme [varchar](50),
@BClassifyText [varchar](50),
@BIndex [varchar](50),
@BPress [varchar](50),
@BPrice [money], // 问题应在这一行 BPrice数据库里的类型是[varchar](50)
@BSeriesName [varchar](50),
@BDescribe [varchar](500))
AS UPDATE [LMS].[dbo].[Book]
SET [BISBN] = @BISBN,
[BName] = @BName,
[BAuthor] = @BAuthor,
[BTheme] = @BTheme,
[BClassifyText] = @BClassifyText,
[BIndex] = @BIndex,
[BPress] = @BPress,
[BPrice] = @BPrice,
[BSeriesName] = @BSeriesName,
[BDescribe] = @BDescribe
WHERE
( [BID] = @BID)
错误提示:服务器: 消息 260,级别 16,状态 1,过程 BookModify,行 13
不允许从数据类型 money 到数据类型 varchar 的隐性转换(表 'LMS.dbo.Book',列 'bprice')。请使用 CONVERT 函数来运行此查询。
=================================================================代码是书上的请问我该怎么改?在线等 真心求教谢谢了。
CREATE PROCEDURE [BookModify]
(@BID [int],
@BISBN [varchar](50),
@BName [varchar](50),
@BAuthor [varchar](50),
@BTheme [varchar](50),
@BClassifyText [varchar](50),
@BIndex [varchar](50),
@BPress [varchar](50),
@BPrice [money], // 问题应在这一行 BPrice数据库里的类型是[varchar](50)
@BSeriesName [varchar](50),
@BDescribe [varchar](500))
AS UPDATE [LMS].[dbo].[Book]
SET [BISBN] = @BISBN,
[BName] = @BName,
[BAuthor] = @BAuthor,
[BTheme] = @BTheme,
[BClassifyText] = @BClassifyText,
[BIndex] = @BIndex,
[BPress] = @BPress,
[BPrice] = @BPrice,
[BSeriesName] = @BSeriesName,
[BDescribe] = @BDescribe
WHERE
( [BID] = @BID)
错误提示:服务器: 消息 260,级别 16,状态 1,过程 BookModify,行 13
不允许从数据类型 money 到数据类型 varchar 的隐性转换(表 'LMS.dbo.Book',列 'bprice')。请使用 CONVERT 函数来运行此查询。
=================================================================代码是书上的请问我该怎么改?在线等 真心求教谢谢了。
解决方案 »
- gridview循环找值相加
- 人事系统,分不够再加100
- TreeView 默认选中问题(节点未完全展开)
- 为什么ASP.NET不能用textpad来编译了?
- 深圳现在貌似形势不大好啊,小弟投了好多简历都没消息啊?
- 请教,如何在asp.net中使用xmlhttp??
- 帮帮忙吧,在code behind中怎样控制Panel的滚动条啊?
- [Serializable]DataSetBase:DataSet写入ViewState后不能读出来,为什么呀?请教思归孟子等高手
- quickstart 数据库连接问题
- 怎样将已从数据库中读出的按需要格式列出
- 这样能更新数据库吗?
- 原来点一个链接,在框架中打开一个新页面。现在我想点链接后新页面替换掉主页面,怎么实现?
把它转化为varchar类型不就得了。
[BPrice] = convert(varchar,@BPrice)就可以了。
把[BPrice]= @BPrice这行改为
[BPrice] = convert(varchar,@BPrice)就可以了。
(@BID [int],
@BISBN [varchar](50),
@BName [varchar](50),
@BAuthor [varchar](50),
@BTheme [varchar](50),
@BClassifyText [varchar](50),
@BIndex [varchar](50),
@BPress [varchar](50),
@BPrice [money],
@BSeriesName [varchar](50),
@BDescribe [varchar](500))AS INSERT INTO [LMS].[dbo].[Book]
( [BID],
[BISBN],
[BName],
[BAuthor],
[BTheme],
[BClassifyText],
[BIndex],
[BPress],
[BPrice],
[BSeriesName],
[BDescribe])
VALUES
( @BID,
@BISBN,
@BName,
@BAuthor,
@BTheme,
@BClassifyText,
@BIndex,
@BPress,
@BPrice,
@BSeriesName,
@BDescribe)还是那个问题那这段程序怎么改?没有[BPrice]= @BPrice)啊
现在插入就不用前面的[BPrice]= 就可以了。
你用的是sql server 数据库吧?
CREATE PROCEDURE [BookAdd]
(@BID [int],
@BISBN [varchar](50),
@BName [varchar](50),
@BAuthor [varchar](50),
@BTheme [varchar](50),
@BClassifyText [varchar](50),
@BIndex [varchar](50),
@BPress [varchar](50),
@BPrice [money],
@BSeriesName [varchar](50),
@BDescribe [varchar](500))AS INSERT INTO [LMS].[dbo].[Book]
( [BID],
[BISBN],
[BName],
[BAuthor],
[BTheme],
[BClassifyText],
[BIndex],
[BPress],
[BPrice],
[BSeriesName],
[BDescribe])VALUES
( @BID,
@BISBN,
@BName,
@BAuthor,
@BTheme,
@BClassifyText,
@BIndex,
@BPress,
@BPrice,
@BSeriesName,
@BDescribe)中的哪里?
( @BID,
@BISBN,
@BName,
@BAuthor,
@BTheme,
@BClassifyText,
@BIndex,
@BPress,
cast(@BPrice as varchar(50)),---加这里
@BSeriesName,
@BDescribe)