以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  多用户并发函数问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=102416)

--  作者:Springamy
--  发布时间:2017/6/19 15:42:00
--  多用户并发函数问题

参考资料写的:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&replyID=32916&ID=4177&skin=1

为什么会报getdate未定义的错误??? 着急,请速回
select ISNULL(sqdate,GETDATE()) AS sqdate,preletter,len,ISNULL(number,0) AS number f rom getnumberid where tablename=\'" & tbname & "\' and colname=\'" & clname & "\'"

 


此主题相关图片如下:1.png
按此在新窗口浏览图片


 


此主题相关图片如下:2.png
按此在新窗口浏览图片

--  作者:有点色
--  发布时间:2017/6/19 15:45:00
--  
 你的数据库,是sqlserver,还是Access?
--  作者:Springamy
--  发布时间:2017/6/19 15:48:00
--  
sqlserver
--  作者:有点色
--  发布时间:2017/6/19 15:51:00
--  
 你的是sql2000?改成 ado.GETDATE() 试试
--  作者:Springamy
--  发布时间:2017/6/19 16:00:00
--  还报一样的错,

好像是sql server 2008 的


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


--  作者:有点色
--  发布时间:2017/6/19 16:09:00
--  

你确定你的user数据源是sqlserver2008?直接执行 select getDate() 行不行? select isnull(null, getdate()) 呢?

 

 


--  作者:Springamy
--  发布时间:2017/6/19 16:35:00
--  还是一样的错

帮看看是哪问题,报未找到自定义函数的错误,有时候报数组越界异常,

Dim dr As DataRow
Dim t As Integer
Dim xh As Integer=0  

Dim numpre,numlen As String
Dim num As Integer   \'
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "select GETDATE()"
sqldate=cmd.ExecuteScalar()  

Do
    cmd.CommandText = "select ISNULL(sqdate,GETDATE() ) AS sqdate,preletter,len,ISNULL(number,0) AS number f

ro m getnumberid where tablename=\'" & tbname & "\' and colname=\'" & clname & "\'"
    dt = cmd.ExecuteReader()   \'读行记录
    If dt Is Nothing Then
        Exit Do
    End If
    dr = dt.DataRows(0)    \'第一行
    numdate=dr("sqdate")
    numpre=dr("preletter")
    numlen=dr("len")
    num=dr("number")
    t=(sqldate-numdate).TotalDays
    If t>0 Then
        cmd.commandtext = "Up date getnumberid Set number =1,sqdate=\'" & sqldate & "\' where tablename=\'" & tbname & "\' and colname=\'" & clname & "\' and ISNULL(number,0) =" & num
        xh=cmd.ExecuteNonQuery()
        num=1
        numdate=sqldate
    Else
        cmd.commandtext = "Upd ate getnumberid Set number =" & num+1  & " where tablename=\'" & tbname & "\' and colname=\'" & clname & "\' and ISNULL(number,0) =" & num
        xh=cmd.ExecuteNonQuery()
        num=num+1
    End If
   
    getbh=numpre.Trim() & "-" & CStr(numdate.year).SubString(2) & CStr(numdate.Month).PadLeft(2 ,"0")  & CStr(numdate.Day).PadLeft(2 ,"0")   & "-" &  CStr(num).PadLeft(numlen ,"0")
   
Loop While xh=0
Return getbh


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


--  作者:有点色
--  发布时间:2017/6/19 16:48:00
--  

 直接执行,是否报错?

 

http://www.foxtable.com/webhelp/scr/2318.htm

 


--  作者:Springamy
--  发布时间:2017/6/19 17:12:00
--  直接获取时间是可以的,但是函数还是有问题

应该不是表的问题吧?


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


 


图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

--  作者:Springamy
--  发布时间:2017/6/19 17:13:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看