十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你这个程序两个问题
成都创新互联公司是一家以重庆网站建设公司、网页设计、品牌设计、软件运维、seo优化排名、小程序App开发等移动开发为一体互联网公司。已累计为橡塑保温等众行业中小客户提供优质的互联网建站和软件开发服务。
不显示数据的原因,TextBox1.DataBindings.Add("Text", mydataset, "WorkTime"),第二个参数不能是dataset应该是datatable,所以应该写成TextBox1.DataBindings.Add("Text", mydataset.Tables("WorkTime"), "WorkTime")
myconn.Open()的打开与关闭没必要再写了
有不是多线程的,.NET有一个异步控件来完成这个事情,BackgroundWorker。
多线程其实比你想象的简单,你计划操作步骤,打比方说我们处理一个文件,用进度条来显示进度。我们可以定义解压他进度为5%,解密文件后哦进度完成20%,读取数据后进度完成30%,重新整理插入数据后进度完成60%,再加密,进度为80%,再压缩进度为90%,再发送进度为95%,删除历史记录结束动作进度为100%。这种事就要多线程去完成,调用控件你就需要委托或者回调控件。
进度条给他赋值就好了,程序运行后你会发现进度条在动。
这是现在90%程序进度条原理。
datagrid不行,因为datagrid绑定数据库,因此不能添加一个附加行。即使在SQL命令中通过union方式进行统计后显示,但又会导致datagrid不能新增。解决办法有2个:1、用MSFlexGrid;2、自己写一个用户控件,大概意思就是里面有2个datagrid,一个大的,专门显示记录,一个小的,不要标题行,专门显示合计数;在里面增加写代码使它们水平同步滚动。
Dim mycon As New SqlConnection(connstrs)
Dim sqlStr As String = "SELECT * FROM [Column] FROM [Table]"
Dim cmd As New SqlCommand(sqlStr, mycon)
Dim reader = cmd.ExecuteReader()
Dim i As Integer = 1
While reader.Read()
Dim txt As New TextBox()
txt.Name = "txt" + i
txt.Size = New Size(100, 20) '文本框大小
txt.Location = New Point(50, i * 20 + 20)'left:50 top:随便写的,自己看着调
txt.Text = reader.GetValue(0).ToString()
Me.Controls.Add(txt) 'Me 可以改为你要添加上去的对象
End While
'未经过运行,自己调试看看能否OK