明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 398|回复: 4

[源码] 借助数据库产生随机数

  [复制链接]
发表于 2024-3-19 18:55 | 显示全部楼层 |阅读模式
  1. (defun $round$ (n-min n-max ws / rnds sjs sql strs sjs)
  2. ;n-min 最小值
  3. ;n-max 最大值
  4. ;ws 小数位数
  5.   (setq n-min (vl-catch-all-apply 'vl-princ-to-string (list n-min)))
  6.   (setq n-max (vl-catch-all-apply 'vl-princ-to-string (list n-max)))
  7.   (setq ws (vl-catch-all-apply 'vl-princ-to-string (list ws)))
  8.   (if (vl-catch-all-error-p n-min)
  9.     (setq n-min nil)
  10.   )
  11.   (if (vl-catch-all-error-p n-max)
  12.     (setq n-max nil)
  13.   )
  14.   (if (vl-catch-all-error-p ws)
  15.     (setq ws "1")
  16.   )
  17.   (if (and n-min n-max (> n-max n-min))
  18.     (progn
  19.       (setq rnds (mapcar (function
  20.          (lambda (a)
  21.            (strcat
  22.              (strcat "ROUND("
  23.                n-min
  24.                " + RAND() * ("
  25.                n-max
  26.                " - "
  27.                n-min
  28.                "), "ws") AS rand"
  29.                (itoa a)
  30.              )
  31.            )
  32.          )
  33.        )
  34.        (list 1 2 3 4 5)
  35.      )
  36.       )
  37.       (setq strs (mapcar (function (lambda (a) (strcat a ",")))
  38.        (reverse (cdr (reverse rnds)))
  39.      )
  40.       )
  41.       (setq strs (append strs (list (last rnds))))
  42.       (setq sql
  43.        (apply 'strcat strs)
  44.       )
  45.       (setq sql (strcat "select " sql))
  46.       (setq sjs
  47.        (car
  48.          ($http-server$
  49.      (list
  50.        (cons "IP" (getenv "数据库地址"))
  51.        (cons "端口" ($locport$))
  52.        (cons "接口" ($fu-wu-qi-jie-kou$ "查询表"))
  53.           ;(cons "数据库路径" "C:\\ZXCAD.DB")
  54.        (cons
  55.          "报文头"
  56.          (list (cons "Client-Auth" (getenv "ComputerName")))
  57.        )
  58.        (cons "Sql" SQL)
  59.        (cons "http方法" "POST")
  60.        (cons "返回格式" "db")
  61.      )
  62.          )
  63.        )
  64.       )
  65.       (setq sjs(mapcar 'cdr sjs))
  66.     )
  67.   )
  68.   sjs
  69. )


评分

参与人数 3明经币 +2 金钱 +5 收起 理由
tigcat + 5 很给力!
baitang36 + 1 很给力!
USER2128 + 1 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-4-1 16:36 | 显示全部楼层
很好,可以配个案例。; 错误: no function definition: $LOCPORT$
发表于 2024-4-1 18:51 | 显示全部楼层
拉出意大利炮打蚊子
 楼主| 发表于 2024-4-1 19:57 | 显示全部楼层
我爱lisp 发表于 2024-4-1 16:36
很好,可以配个案例。; 错误: no function definition: $LOCPORT$

加载dbo.vlx即可
发表于 2024-4-7 12:08 | 显示全部楼层
学到了  很有用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-13 11:11 , Processed in 0.142596 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表