以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  5.25升级后SQL table错误 / 测试5.29版发现问题依旧  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=150291)

--  作者:lgzhao
--  发布时间:2020/5/26 12:59:00
--  5.25升级后SQL table错误 / 测试5.29版发现问题依旧
升级后 

所有用SQL 语句sel ect *  from  生成的table都报错。 下面的老代码已经部署了好久了,这次升级以后一直报错。 我的上版程序是 5.1日高级开发版
 
Dim cmd As New SQLCommand
cmd.ConnectionName=_ConnectionName

Dim PTB As Table=e.Form.Controls("SalesOD").Table

cmd.Comm andText = "SEL ECT   *   FROM {SalesInvs}   where  1=0 "

ptb.datasource =  cmd.ExecuteReader(True)

\'同步列标题
For Each cl As Col In ptb.Cols
    cl.caption = DataTables("SalesInvs").DataCols(cl.name).caption
    cl.TextAlign = Tables("SalesInvs").Cols(cl.name).TextAlign
Next
ptb .BuildHeader()

\' ptb.DataTable.DataCols("Weight").SetFormat("#,###.0")

ptb.Cols("TimeCreated").DataCol.SetDateTimeFormat(DateTimeFormatEnum.DateTime)

ptb.DataTable.AddUserStyle("locked", Color.fromargb(255,224,224,224), Color.black)  \'标记锁定区域

ptb.DefaultRowHeight =35
ptb.SetHeaderRowHeight(22,22)

Dim cvs As String   =  "InvoiceDate|79|DueDate|79|ProjectNo|67|Address_Street|118|Address_Suburb|103|address_City|77|CustON|98|Notes|200|Confirmed|42|Printed|42|PaymentTerm|92|PriceLevel|73|SalesPerson|80"

ptb.SetColVisibleWidth(cvs)
ptb.AllowEdit = True

\' bind field for controls

Dim TBName As String = ptb.name

e.Form.Controls("BranchID").BindingField = TBName & "." &  "BranchID"
e.Form.Controls("CustomerID").BindingField = TBName & "." & "CustomerID"
e.Form.Controls("CustomerName").BindingField = TBName & "." & "CustomerName"
e.Form.Controls("SalesON").BindingField = TBName & "." & "InvoiceNo"

e.Form.Controls("HideRates").BindingField = TBName & "." & "HideRatesForPrinting"

e.Form.Controls("TotExcGST").BindingField = TBName & "." & "TotExcGST"
e.Form.Controls("TotIncGST").BindingField = TBName & "." & "TotIncGST"
e.Form.Controls("GST").BindingField = TBName & "." & "GST"


e.Form.Controls("confirmed").BindingField = TBName & "." & "confirmed"

e.Form.Controls("Printed").BindingField = TBName & "." & "Printed"
e.Form.Controls("PostedGL").BindingField = TBName & "." & "PostedGL"

e.Form.Controls("Author").BindingField = TBName & "." & "CreatedBy"
e.Form.Controls("TimeCreated").BindingField = TBName & "." & "TimeCreated"
e.Form.Controls("DatePaid").BindingField = TBName & "." & "PaymentDate"
e.Form.Controls("AmtOutstanding").BindingField = TBName & "." &  "Outstanding"

\'**************************************************************
\'设置下拉输入框

ptb.Cols("DueDate").DropForm ="DateEntry"
ptb.Cols("InvoiceDate").DropForm ="DateEntry"

ptb.Cols("Address_Suburb").DropForm ="SuburbEntry"
ptb.Cols("Address_street").DropForm ="StreetEntry"
ptb.Cols("ProjectNo").DropForm ="ProjectEntry"

e.Form.Controls("SalesOD").visible = True
[此贴子已经被作者于2020/6/26 7:58:01编辑过]

--  作者:lgzhao
--  发布时间:2020/5/26 13:01:00
--  

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

--  作者:lgzhao
--  发布时间:2020/5/26 13:25:00
--  
在命令窗口测试如下代码,报同样错误

Dim cmd As New SQLCommand
cmd.ConnectionName=_ConnectionName
Dim PTB As DataTable
cmd.CommandText = "SELE CT   *   FROM {PurchOrds}   where  1=0 "
 ptb =  cmd.ExecuteReader(True)

代码简化这个程度,还有错误很奇怪呢。

期待紧急援助,我中午给公司发布了升级。如今一片哀鸣。老版本程序已经打不开新版本碰过的程序文件了。

我操作系统是windows 7 英文版。现在程序是高级开发版 5.25版。


--  作者:lgzhao
--  发布时间:2020/5/26 13:33:00
--  
 ptb =  cmd.ExecuteReader(True) 改成  ptb =  cmd.ExecuteReader() 就不报错,
或者,把星号selec t *换成 sele ct _identify 等一堆列名,   那么 ptb =  cmd.ExecuteReader(True) 也不报错。

那么错误就在这个True或者星号 * 上面。

这个功能我绕不开呀。 期待发布紧急补丁。 

--  作者:程兴刚
--  发布时间:2020/5/26 13:35:00
--  
SEL ECT
您的SEL ECT和我的SELECT不同,为什么您所有SEL ECT的L后面要加一个空格,也不知升级前为什么就可以,没这样用过!

--  作者:lgzhao
--  发布时间:2020/5/26 13:37:00
--  
空格是我在这里加的,不然不让发帖。源代码应该没问题,用了一年多了的。
--  作者:lgzhao
--  发布时间:2020/5/26 13:40:00
--  
这样用sql表格是为了保证打开的表格绝对独立,不受其他地方同步查询/加载等操作影响。特别适合单独开窗口来编辑订单。
--  作者:有点蓝
--  发布时间:2020/5/26 13:50:00
--  
如果有备份,先用回旧版本,这个版本ExecuteReader(True)有bug,等下个版本修复
--  作者:lgzhao
--  发布时间:2020/5/26 13:53:00
--  
谢谢蓝版主,不过期待尽快呀。这次真的没有备份,下次肯定记住了呵呵。
--  作者:y2287958
--  发布时间:2020/5/26 15:00:00
--  
这个版本的SQLcommand把我折腾的够呛,回又回不去,想着恢复了函数动态编译于是放心下载试用,结果又冒出一个SQLcommand的诸多问题,真是汗!请官方尽快修复,谢谢。