以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]程序连接SQL出错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76600) |
-- 作者:kensou11111 -- 发布时间:2015/11/2 10:02:00 -- [求助]程序连接SQL出错 我做了一个ERP软件的小外挂程序,连接我这边的SQL服务器没问题,功能测试也一切正常。 但是将程序发到客户的电脑上,连接他们的服务器时就会有问题(每次打开程序要2-3分钟,进入后点击功能按钮报错),他们服务器是2008R2,SQL是2005,用户机则是WIN7 32位,报错如下 button1的代码如下: DataTables("comProduct").LoadFilter = "[ProdID] is not null" DataTables("comProduct").Load DataTables("ComProdLLC").LoadFilter = "[ProdID] is not null" DataTables("ComProdLLC").Load DataTables("ComUnitConver").LoadFilter = "[ProdID] is not null" DataTables("ComUnitConver").Load \'自动生成单号 Dim max,DH As String Dim ld1 As String = e.Form.Controls("前缀").value Dim ld2 As String = e.Form.Controls("颜色码").value Dim idx As Integer If ld1 IsNot Nothing And ld2 IsNot Nothing Then max = DataTables("comProduct").SQLCompute("Max(ProdID)","ProdID LIKE \'" & ld1 & ld2 & "%" & "\'") \'取得该类别的最大编号 If max > "" Then \'如果存在最大编号 idx = CInt(max.Substring(ld1.Length + ld2.Length,8)) + 1 \'获得最大编号的后四位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If DH = ld1 & ld2 & Format(idx,"00000000") E.Form.Controls("产品编号").value = DH E.Form.Controls("默认仓库").value = "001" Dim dr As DataRow dr = DataTables("仓库设定").SQLFind("WareHouseID = \'001\'") If dr IsNot Nothing Then \'如果找到的话 E.Form.Controls("仓库名称").value = dr("WareHouseName") End If E.Form.Controls("产品形态").value = 2 E.Form.Controls("形态名称").value = "半成品" Else MessageBox.Show("请先选择前缀和颜色码", "提示") End If [此贴子已经被作者于2015/11/2 10:12:42编辑过]
|
-- 作者:kensou11111 -- 发布时间:2015/11/2 11:25:00 -- 有没有高人帮忙分析一下啊? |
-- 作者:Hyphen -- 发布时间:2015/11/2 11:29:00 -- 出错应该在这里 idx = CInt(max.Substring(ld1.Length + ld2.Length,8)) + 1 \'获得最大编号的后四位顺序号,并加1
确认客户数据库的这个字段返回值的长度足够 |
-- 作者:大红袍 -- 发布时间:2015/11/2 12:18:00 -- 加入msgbox看看
msgbox(max) msgbox(max.length) idx = CInt(max.Substring(ld1.Length + ld2.Length,8)) + 1 \'获得最大编号的后四位顺序号,并加1
|