网站建设资讯

NEWS

网站建设资讯

vb.net并发 VBNET的编程机制

请教c#、vb.net高手:DataGridViewRow删除行速度问题。

给你一个思路,你可以这样:

沛县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

1,先删除DataGridView里面的数据,不要遍历删除,而是根据当前的要删除的index去删除,但是你取回来的数据要放在一个临时表里面,以便于操作。

2,通过线程并发的方式去删除数据库里面的数据,

这样就可以节省出来很大一部分时间,

vb.net如何让两个窗体并发运行

Imports System.Threading

Public Class Form1

Dim t1, t2 As Thread

Dim tt1

Private Delegate Sub voiddelegate(ByVal i As Integer)

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Form2.Show()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

t1 = New Thread(AddressOf test)

tt1 = 1

t1.Start()

tt1 = 2

t2 = New Thread(AddressOf test)

t2.Start()

' Timer1.Start()

End Sub

Private Sub updateui(ByVal i As Integer)

Form2.Label1.Text = i.ToString

Form2.Label2.Text = i.ToString

End Sub

'把循环放到线程中运行会好一些,其实主要事务是对窗体控件的操作时多线程意义不大,因为访问窗体的代码依然要在窗体线程中运行。

Private Sub test()

Dim d As voiddelegate = AddressOf updateui

For i = 0 To 9000

Me.Invoke(d, i)

Next

End Sub

'如果放在计时器中运行效果好的多

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Static i As Integer = 0

i += 1

If i 9000 Then Timer1.Stop() : i = 0

Form2.Label1.Text = i.ToString

Form2.Label2.Text = i.ToString

End Sub

End Class

'如果在另一线程中用Application.run 打开窗体确实能行,不过窗体间相互操作不起作用,这个尚待研究中。

VB.NET多用户并发写入SQL数据库

很不明白你的问题,你向数据库里写数据竟然会有冲突的危险,那实在不明白你数据库是怎么设计的了,,,,如果可以,列出你会发生冲突的数据库表结构看看,看看你是怎么发生冲突的


分享标题:vb.net并发 VBNET的编程机制
文章出自:http://cdweb.net/article/dochjos.html