首页 新闻 会员 周边

c#输入一个城市,怎么随机产生一个这个城市归属地手机号码

0
悬赏园豆:100 [已关闭问题] 关闭于 2015-03-16 11:44

c#输入一个城市,怎么随机产生一个这个城市归属地手机号码

我有那个手机号码段归属地的数据库。求教  谢谢

苦涩后甘甜的主页 苦涩后甘甜 | 初学一级 | 园豆:2
提问于:2015-03-16 09:09
< >
分享
所有回答(4)
0

不明白你的具体需求。

如果仅仅是希望随机从数据库里随机获取,可以用:order by newid()

519740105 | 园豆:5810 (大侠五级) | 2015-03-16 09:17

我随机输入一个城市的名字,然后希望从数据库中随机得到这个城市对应的手机号。

支持(0) 反对(0) 苦涩后甘甜 | 园豆:2 (初学一级) | 2015-03-16 09:18

@苦涩后甘甜: 是已存在的手机号?

按数据库查询,随机方式可以通过 我说的 排序方式 实现。

支持(0) 反对(0) 519740105 | 园豆:5810 (大侠五级) | 2015-03-16 09:19

@519740105: 号码都存在了数据库中。可以说是都存在了。现在就是想输入城市,随机输出一个该城市对应的号码。 能不能帮我写一个具体的代码呢  谢谢 

支持(0) 反对(0) 苦涩后甘甜 | 园豆:2 (初学一级) | 2015-03-16 09:20

@苦涩后甘甜: 

select * from table where city='cityname' order by newid()

 

类似以上代码或变通后不行?

 

或者把你的数据表结构贴出来,同时附带部分数据,把你的意思以实际的数据的方式表述出来。

支持(0) 反对(0) 519740105 | 园豆:5810 (大侠五级) | 2015-03-16 09:22

@519740105: 

1300000 北京
1300001 江苏-常州
1300002 安徽-巢湖
1300006 江苏-南京
1300008 湖北-武汉
1300010 北京
1300014 天津
1300015 山东-淄博
1300018 天津
1300020 上海


类似这的数据,我想输入上海,然后取出上海对应的所有的数字,存到数组中,然后我想的通过dictionary中key和value,但是实现不了 

支持(0) 反对(0) 苦涩后甘甜 | 园豆:2 (初学一级) | 2015-03-16 09:26

@苦涩后甘甜: 如果数据量很大,存到dict里,你可能会哭。

如果只是从数据库里查询,上面我已经给了方法了。

放字典里也没什么,定义的字典应该类似:

IDictionary<string, IList<string>>

支持(0) 反对(0) 519740105 | 园豆:5810 (大侠五级) | 2015-03-16 09:52
0

这个不就是查询的问题么,你先查询数据库得到对应的值,然后循环遍历得到的值,给dictionary赋值也不行吗?

_Vegetables | 园豆:586 (小虾三级) | 2015-03-16 09:40

后面的给dictionary 赋值,请问怎么实现的 ,能不能帮忙写一下 谢谢

支持(0) 反对(0) 苦涩后甘甜 | 园豆:2 (初学一级) | 2015-03-16 09:41

@苦涩后甘甜: 比如放到一个DataSet ds里面了,那么for(int i=0;i<ds.Table[0].Row.count;i++)

{ _dicts.add(ds.Table[0].Row[i]["...."],ds.Table[0].Row[i]["...."]) }然后直接返回,不行?

支持(0) 反对(0) _Vegetables | 园豆:586 (小虾三级) | 2015-03-16 09:47

@_Vegetables: 好吧  我试试 先谢谢你们了

支持(0) 反对(0) 苦涩后甘甜 | 园豆:2 (初学一级) | 2015-03-16 09:48
0

楼上的数字大侠说的已经够用了,你还不明白真就没办法了。

1、每次从数据库取一条指定城市的随机电话号码

Select Top 1 telehphone from Table where cityname='上海' order by newid()

2、从数据库取城市所有号码,放在Dictionary里面,这个方案很土很暴力,不建议使用。

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-03-16 09:41

很土很暴力,能不能来个不那么暴力的,或者用什么api,服务之类的呢

支持(0) 反对(0) 苦涩后甘甜 | 园豆:2 (初学一级) | 2015-03-16 09:42

@苦涩后甘甜: 我就不明白了,你当数据库服务器是吃干饭的?

1、东西都在数据库里面,你非要全部取出来(假设2分钟),然后放内存里面。

这时候取一条10MS。(这也没问题啊,随便写写就有了,你不明白的是啥呢?)

你这也是一个类似数据库的东西啊。

 

2、东西放在数据库里面,你需要就取一条, 50ms。别提数据库担心了,没这么脆弱的。

 

如果你玻璃心的话,就别看下面的话了,

像你现在的水平,就不要替数据库服务器担心了。

或者你要说出为啥需要全部取出来放另外一个地方。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2015-03-16 09:48

@爱编程的大叔: 谢谢你的帮助。刚学数据库,有些东西不是太懂,我会好好提升自己的。谢了

支持(0) 反对(0) 苦涩后甘甜 | 园豆:2 (初学一级) | 2015-03-16 09:50

@苦涩后甘甜: 老师教的都是取出来,因为你们的测试数据都只有10几条。

如果你在数据库里面放1亿条手机号码,然后你全部取一次就得10分钟或者30分钟,

服务器内存就全部给你用来放Dictionary了,还跑啥网站啊。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2015-03-16 09:54

@爱编程的大叔: 那我把数据都已经存好了放在数据库中,有几十万条。输入一个城市查出来想要的。这样可以吧

支持(0) 反对(0) 苦涩后甘甜 | 园豆:2 (初学一级) | 2015-03-16 09:56
0

现在随机号段里面取到一个号段,也就是用这个方法Select Top 1 telehphone from Table where cityname='上海' order by newid();

然后再用C#生成四个随机数字,拼接到后面;

结束;

刘宏玺 | 园豆:14020 (专家六级) | 2015-03-16 10:18

恩 我知道就是这样的思路

支持(0) 反对(0) 苦涩后甘甜 | 园豆:2 (初学一级) | 2015-03-16 10:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册