以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  【未解决】多线程,操作表,报错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=75580)

--  作者:ycli368
--  发布时间:2015/10/10 19:16:00
--  【未解决】多线程,操作表,报错
多线程
A线程在给A表添加数据
B线程加载B表会报 表加载失败
[此贴子已经被作者于2015/10/11 15:12:25编辑过]

--  作者:ycli368
--  发布时间:2015/10/10 19:31:00
--  
一开始用的 计划 管理,发现界面也是假死状态,
采用线程就遇到这个问题

--  作者:游
--  发布时间:2015/10/10 20:33:00
--  

跨线程操作,要用委托

 

 


--  作者:大红袍
--  发布时间:2015/10/11 10:55:00
--  

http://blog.itpub.net/12639172/viewspace-566846/

 


--  作者:ycli368
--  发布时间:2015/10/11 11:07:00
--  
谢了
--  作者:ycli368
--  发布时间:2015/10/11 14:54:00
--  
想通过多线程或计划管理实现多任务同时操作的目的,目前来看是失败的

1.多线程设计是想多任务同时操作的,现在是一个线程在从CSV读取数据写到datatable中,且这个时间特别久,数据量较大,会导致其他加载表执行失败
"
Dim t As Table = e.Form.Controls("Table1").Table

\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'t.Fill("Select *  fro m     creditinquiry where 1 = 2",Conn,False)


t.Cols("quirytime").DataCol.SetDateTimeFormat(DateTimeFormatEnum.DateLongTime)"

-----另外一个窗口数据写入开始,这个窗口打开就报quirytime不存在,说明没加到数据
t.AllowEdit = False
ConfigTable(t.Name,t)
\'Forms("frmWangwangLogin").show()
[此贴子已经被作者于2015/10/11 15:03:49编辑过]

--  作者:大红袍
--  发布时间:2015/10/11 16:12:00
--  

测试没问题,有问题请上传例子测试

 

全局代码

 

Public Sub thread_sub1(ByVal obj As Object)
    functions. Execute("多线程操作", obj)
End Sub

 

内部函数

 

Do While vars("stop") = False
    Dim nr As Row = CurrentTable.addnew
    nr(0) = 123456
Loop

 

调用

 

vars("stop") = False
Dim nthread As New System.Threading.Thread(AddressOf thread_sub1)
nthread.start(Nothing)

 

------- http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=74090&skin=0