| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 907 人关注过本帖
标题:SQL存储过程 急~~~~~~~~!! 给分
只看楼主 加入收藏
sghwfnwxf
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-7-20
收藏
 问题点数:0 回复次数:2 
SQL存储过程 急~~~~~~~~!! 给分
求帮助



set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go


ALTER PROCEDURE  [dbo].[adduser]

@name               varchar(64),
@passwd            binary(16),
@prompt            varchar(32),
@answer            varchar(32),
@truename        varchar(32),
@idnumber        varchar(32),
@email               varchar(64),
@mobilenumber varchar(32),
@province         varchar(32),
@city                 varchar(32),
@phonenumber  varchar(32),
@address            varchar(64),
@postalcode       varchar(8) ,
@gender             integer,
@birthday          varchar(32),
@qq                   varchar(32),
@passwd2         binary(16)

AS

SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
SET ANSI_NULL_DFLT_ON ON
SET QUOTED_IDENTIFIER ON
SET NOCOUNT ON
SET XACT_ABORT  ON

    BEGIN TRAN
    DECLARE @id integer
    SELECT @id = ISNULL(max(id), 16) + 16 FROM users HOLDLOCK
    INSERT INTO users (id,name,passwd,prompt,answer,truename,idnumber,email,mobilenumber,province,city,phonenumber,address,postalcode,gender,birthday,creatime,qq,passwd2) VALUES( @id, @name, @passwd, @prompt, @answer, @truename, @idnumber, @email, @mobilenumber, @province, @city, @phonenumber, @address, @postalcode, @gender, @birthday, getdate(), @qq, @passwd2 )
    COMMIT TRAN


这是存储过程!

exec adduser 'admin','fedr543hyd6124fc','1','1','1','2','1','1','1','1','1','1','1','1','2010-01-10','123','fedr543hyd6124fc'

我存储时叫我用convert转换


exec adduser 'admin',convert(binary,'fedr543hyd6124fc'),'1','1','1','2','1','1','1','1','1','1','1','1','2010-01-10','123',convert(binary,'fedr543hyd6124fc')


但是我转换后 又提式我convert语法有错误!


给分50   谢谢们 请大家帮帮忙....








搜索更多相关主题的帖子: SQL 
2010-02-16 14:40
烟雨袅袅
Rank: 6Rank: 6
来 自:星空雨际
等 级:侠之大者
威 望:1
帖 子:430
专家分:494
注 册:2007-11-26
收藏
得分:0 
select convert(binary,'fedr543hyd6124fc')
结果
0x666564723534336879643631323466630000000000000000000000000000
2010-02-21 13:25
czyzhuo
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:17
帖 子:230
专家分:1459
注 册:2010-3-11
收藏
得分:0 
convert()将内容转换到所指定的格式
convert(binary,'fedr543hyd6124fc')把'fedr543hyd6124fc'当作十六进制转成二进制,转换之后位数会很长,用十六进制表示出来
 @passwd2         binary(16)    这个是16位二进字,数据类型太短了,所以肯定不能将convert(binary,'fedr543hyd6124fc')的结果赋给它啦
你改变一下它的数据类型,一般密码都是字符型 的啊
数据库表的users 的passwd2字段的数据类型也要注意一下,如果错了也插入不了的

2010-03-16 15:20
快速回复:SQL存储过程 急~~~~~~~~!! 给分
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034757 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved