c#输入一个城市,怎么随机产生一个这个城市归属地手机号码
我有那个手机号码段归属地的数据库。求教 谢谢
不明白你的具体需求。
如果仅仅是希望随机从数据库里随机获取,可以用:order by newid()
我随机输入一个城市的名字,然后希望从数据库中随机得到这个城市对应的手机号。
@苦涩后甘甜: 是已存在的手机号?
按数据库查询,随机方式可以通过 我说的 排序方式 实现。
@519740105: 号码都存在了数据库中。可以说是都存在了。现在就是想输入城市,随机输出一个该城市对应的号码。 能不能帮我写一个具体的代码呢 谢谢
@苦涩后甘甜:
select * from table where city='cityname' order by newid()
类似以上代码或变通后不行?
或者把你的数据表结构贴出来,同时附带部分数据,把你的意思以实际的数据的方式表述出来。
@519740105:
1300000 北京
1300001 江苏-常州
1300002 安徽-巢湖
1300006 江苏-南京
1300008 湖北-武汉
1300010 北京
1300014 天津
1300015 山东-淄博
1300018 天津
1300020 上海
类似这的数据,我想输入上海,然后取出上海对应的所有的数字,存到数组中,然后我想的通过dictionary中key和value,但是实现不了
@苦涩后甘甜: 如果数据量很大,存到dict里,你可能会哭。
如果只是从数据库里查询,上面我已经给了方法了。
放字典里也没什么,定义的字典应该类似:
IDictionary<string, IList<string>>
这个不就是查询的问题么,你先查询数据库得到对应的值,然后循环遍历得到的值,给dictionary赋值也不行吗?
后面的给dictionary 赋值,请问怎么实现的 ,能不能帮忙写一下 谢谢
@苦涩后甘甜: 比如放到一个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]["...."]) }然后直接返回,不行?
@_Vegetables: 好吧 我试试 先谢谢你们了
楼上的数字大侠说的已经够用了,你还不明白真就没办法了。
1、每次从数据库取一条指定城市的随机电话号码
Select Top 1 telehphone from Table where cityname='上海' order by newid()
2、从数据库取城市所有号码,放在Dictionary里面,这个方案很土很暴力,不建议使用。
很土很暴力,能不能来个不那么暴力的,或者用什么api,服务之类的呢
@苦涩后甘甜: 我就不明白了,你当数据库服务器是吃干饭的?
1、东西都在数据库里面,你非要全部取出来(假设2分钟),然后放内存里面。
这时候取一条10MS。(这也没问题啊,随便写写就有了,你不明白的是啥呢?)
你这也是一个类似数据库的东西啊。
2、东西放在数据库里面,你需要就取一条, 50ms。别提数据库担心了,没这么脆弱的。
如果你玻璃心的话,就别看下面的话了,
像你现在的水平,就不要替数据库服务器担心了。
或者你要说出为啥需要全部取出来放另外一个地方。
@爱编程的大叔: 谢谢你的帮助。刚学数据库,有些东西不是太懂,我会好好提升自己的。谢了
@苦涩后甘甜: 老师教的都是取出来,因为你们的测试数据都只有10几条。
如果你在数据库里面放1亿条手机号码,然后你全部取一次就得10分钟或者30分钟,
服务器内存就全部给你用来放Dictionary了,还跑啥网站啊。
@爱编程的大叔: 那我把数据都已经存好了放在数据库中,有几十万条。输入一个城市查出来想要的。这样可以吧
现在随机号段里面取到一个号段,也就是用这个方法Select Top 1 telehphone from Table where cityname='上海' order by newid();
然后再用C#生成四个随机数字,拼接到后面;
结束;
恩 我知道就是这样的思路