以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  后台数据查询的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=48604)

--  作者:whcraft23
--  发布时间:2014/4/1 22:16:00
--  后台数据查询的问题
我想请问一下  是不是在表格里面写入数据  只要保存了  就表示进入后台了   用  SQL语句就可以查询   还是保存在哪儿    

 我感觉我用 SQLCompute  统计 表里面 最大的排序码  然后+1得到 一个订单单号  但是 提交两个单号  都是一样的   

感觉没有统计到前一个提交的数据 

我不知道是什么原因   SQLfind 写的代码  也有些问题   我刚接触数据库这个东西   是小白

请问哪个老师能系统的讲解一下  新增数据保存后和前台后台的关系   前台+后台 = 整个数据  还是 后台 = 整个数据(前台是后台数据的一部分)  SQL命令  运作的原理   然后怎么解决编码唯一的问题  谢谢

        Dim td As String = Format(Date.Today,"yyMMdd")
        Dim max As String
        Dim idx As Integer
        max = DataTables("移库主表").SQLCompute("max(批次排序码)","[日期] = \'"& date.Today &"\' And 部门 = \'"& bm.Value &"\' ")
        If max > "" Then \'如果存在最大编号
            idx = CInt(max) + 1 \'获得最大编号的后三位顺序号,并加1
        Else
            idx = 1 \'否则顺序号等于1
        End If
        Dim drbm As DataRow = DataTables("编码表").Find("[部门名称] = \'"& bm.Value &"\'")
        Dim x As String = td & "+" & drbm("部门编码") & Format(idx,"00")

--  作者:有点酸
--  发布时间:2014/4/1 22:30:00
--  

SQLCompute统计的是后台的数据,输入的数据,如果没有保存是不会参与统计的。

Compute统计的是已经加载的数据,包括新输入的数据,但是没有加载 数据是不会参与统计的。

 

多人操作环境下的编码,可以参考:

http://www.foxtable.com/help/topics/1994.htm

 


--  作者:whcraft23
--  发布时间:2014/4/1 23:27:00
--  
谢谢 ,请问 是不是只要保存的数据就 进入了后台   用sqlfind 就可以找到   还是  加载到前台了   后台就找不到了
--  作者:lsy
--  发布时间:2014/4/2 7:40:00
--  

只要保存了,SQLFind就能找到,不管加载到前台与否。


--  作者:有点甜
--  发布时间:2014/4/2 9:19:00
--  
以下是引用whcraft23在2014-4-1 23:27:00的发言:
谢谢 ,请问 是不是只要保存的数据就 进入了后台   用sqlfind 就可以找到   还是  加载到前台了   后台就找不到了

 

在多人操作的情况下,编号生成以后,记得马上把这一行save到后台;不然,别人用compute取得最大值的时候,得到的可能是同一个值,会出现编号重复的情况。