想试着做下用DataGrid显示sql数据库表格内容和编辑数据库表格值的程序
Sub OnClick(ByVal Item)
On Error Resume Next
Dim DSN
Dim strConn
Dim conn
Dim oCom
Dim oRs
Dim sSql
Dim DataGrid
Set DataGrid = ScreenItems("DataGrid1")
' ===================连接数据库==================
strConn = "Provider=MSDASQL;DSN=test;UID=sa;PWD=xx;"
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = strConn
conn.CursorLocation = 3
conn.Open
Set oRs = CreateObject("ADODB.Recordset")
Set oCom = CreateObject("ADODB.Command")
oCom.CommandType = 1
Set oCom.ActiveConnection = conn
sSql = "SELECT autoid,a,b,c FROM test order by autoid desc"
oCom.CommandText = sSql
Set oRs = oCom.Execute
Set DataGrid.DataSource = oRs
' AutoGenerateColumns=True
DataGrid.Refresh
DataGrid.AllowAddNew=True
DataGrid.AllowDelete=True
DataGrid.AllowUpdate=True
DataGrid.AllowArrows=True
' oRs.close
' Set oRs = Nothing
' Set oCom = Nothing
' conn.close
' Set conn = Nothing
End Sub
问题1:为什么加上关闭数据连接这段,数据库里的内容就显示不出了,去掉以后就能显示了?那数据库还需要关闭吗?什么时候关闭呢?
' oRs.close
' Set oRs = Nothing
' Set oCom = Nothing
' conn.close
' Set conn = Nothing
问题2:我想编辑修改删除等datagrid表格中某单元格的值,但是选中某单元格后,键盘修改不了值啊?那怎么进行事件触发呢?要设置什么属性吗?
麻烦各位高手指教了~如果有相关实例那就再好不过了~先谢过
最佳答案
问题1:
手头没有测试环境,建议在画面添加全局脚本诊断工具,看看有无故障发生。
问题2:
可以在Datagrid的双击事件中定义相应的脚本
1)获取双击的单元格的行号和列号
2)弹出Inputbox
3)将Inputbox的数据写入相应的单元格
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc191456.html