sql IP地址 ( 积分: 100 )

  • 主题发起人 主题发起人 jshykj00
  • 开始时间 开始时间
J

jshykj00

Unregistered / Unconfirmed
GUEST, unregistred user!
一表&nbsp;IP<br>单位&nbsp;开始IP&nbsp;结束IP<br>财务科&nbsp;382632193&nbsp;382632446<br>计划科&nbsp;365854977&nbsp;365855230<br>...<br>问题<br>获得一IP&nbsp;转化为数字&nbsp;如&nbsp;382632120&nbsp;怎么判断在这范围内呢?
 
sql&nbsp;server&nbsp;中是建视图还是建自定义函数实现呢?
 
通过select&nbsp;将IP.开始IP&nbsp;至&nbsp;结束IP&nbsp;生成&nbsp;一列数字&nbsp;从中找这个数字&nbsp;是这思路吗?
 
目的主要是:&nbsp;防止同个IP重复投票和不允许规定范围外的IP投票
 
一表&nbsp;IP<br>单位&nbsp;开始IP&nbsp;结束IP<br>财务科&nbsp;382632193&nbsp;382632446<br>计划科&nbsp;365854977&nbsp;365855230<br><br>应该还有个投票的IP记录表吧!!!<br><br>先判断IP是否在允许投票范围,<br>若在范围,在看是否在&nbsp;投票的IP记录表&nbsp;中存在&nbsp;若在则表明已投过<br>若不在则&nbsp;在&nbsp;投票的IP记录表&nbsp;插入该记录
 
在数据表中添加一个IP字段,投票后记录下IP地址,下次投票比较是否存在,以此判断是否投过票。
 
有这样的吗?<br>想这样简化?
 
while&nbsp;not&nbsp;adoquery1.eof&nbsp;do<br>begin<br>&nbsp;&nbsp;&nbsp;if&nbsp;(要判断的ip&gt;adoquery1.fieldbyname('开始ip').asfloat)&nbsp;and&nbsp;(要判断的ip&lt;adoquery1.fieldbyname('结束ip').asfloat)&nbsp;&nbsp;&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;showmessage('就是');<br><br>end;
 
后退
顶部