首页 新闻 会员 周边

数据库相关拼接

0
悬赏园豆:100 [已解决问题] 解决于 2012-04-19 19:59

问题1:

创建一个数据库myStudent,数据库中有个Users表,

users表中有个属性userId为自动增长,并且为主键。

现在的要求是userId输出的格式只能是这样的TX_******

*代表数字,在6位数字前面需要有TX_这个前缀

请问这种要怎么设置?

 

还有一个问题2:

在Linq中,怎么序列化users表中的各个属性。

张涵哲琪的主页 张涵哲琪 | 初学一级 | 园豆:112
提问于:2012-03-14 16:41
< >
分享
最佳答案
0

问题一:

select 'TX_'+Cast(Userid as Nvarchar(6)) as 修改后主键 from [myStudent].dbo.[Users]
收获园豆:100
邀月 | 高人七级 |园豆:25475 | 2012-03-14 16:47

use master
go
if exists (select * from sysdatabases where name ='MyJT')
drop database MyJT

create database MyJT
On(
name='MyJT',
filename='d:\JT\data\MyJT.mdf')
log on(
name='MyJT_log',
filename='d:\JT\data\MyJT.ldf')

go


use MyJT
go
create table Users  --用户表
(
 UserId int identity(1,1) primary key  ,--编号
 NickName varchar(20) not null unique,--昵称
 LoginPwd varchar(20) not null,--密码
 )
select 'TX_'+Cast(UserId as Nvarchar(6)) as UserId from Users

这样还是不行。。。ID为1开始增长。没有想要的效果

张涵哲琪 | 园豆:112 (初学一级) | 2012-03-14 17:06

张涵哲琪 | 园豆:112 (初学一级) | 2012-03-14 17:08
其他回答(4)
0

主键ID 还是设为自增长1,自己再定义一个nvarchar字段 TX_00000001,在代码插入数据时 处理自动增长自己定义的字段

凉风ing | 园豆:332 (菜鸟二级) | 2012-03-14 16:48

本人愚拙暂不理解。。。

首先有几个问题请解惑:

1:主键Id为自动增长,不是要为Int类型吗?为什么又可以定义nvarchar?

2:上文的再定义一个nvarchar类型是什么意思,是在定义主键Idint类型后,又定义一个主键ID为nvarchar类型吗?如果是这样不是冲突了吗?

3:就算定义了一个ID为nvarchar类型,为主键,自动增长,那么字段TX_00000001要怎么插入,主键加上自动增长不是不能插入数据吗?

谢谢!

支持(0) 反对(0) 张涵哲琪 | 园豆:112 (初学一级) | 2012-03-14 17:17

@张涵哲琪:  主键就是一个ID。int型。这个字段不用。 自己建过一个普通字段(不是设成主键)用这个字段存储你想要的ID形式

支持(0) 反对(0) 凉风ing | 园豆:332 (菜鸟二级) | 2012-03-14 17:31
0

第一个问题:邀月的正解

第二个问题:对USers表建立实体,或者将查询到的数据进行json转换

az235 | 园豆:8483 (大侠五级) | 2012-03-14 17:03
0
select 'TX_'+right('000000' + Cast(Userid as Nvarchar(6)),6) as nUserId from [myStudent].dbo.[Users]
小小刀 | 园豆:1991 (小虾三级) | 2012-03-14 19:13
0


        //随机生成用户账号
        private static string GetUserID()
        {
            string UserID = "TX_";
            Random rd = new Random();
            for (int i = 1; i <= 6; i++)
            {
                int userid = rd.Next(0, 9);
                UserID = UserID + userid;
            }
            return UserID;

}

张涵哲琪 | 园豆:112 (初学一级) | 2012-04-19 19:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册