Datagrid里怎么实现添加并不要自动保存怎么输完了(多条)记录之后再统一保存!

zhaochengqing 2005-06-02 02:06:23
请各位帮帮忙解决马上给分!
...全文
158 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lightwu 2005-06-02
  • 打赏
  • 举报
回复
上面的诸位老大,用程序加载完成之后,断开连接,datagrid会有什么表现
lightwu 2005-06-02
  • 打赏
  • 举报
回复
难道我的方法有问题吗?只要设置为批更新,你datagrid里面的操作做什么都可以,也不影响原表,不过,统一保存,使用updatebatch比update要慢
Fanks 2005-06-02
  • 打赏
  • 举报
回复
你可以用临时表,保存的时候再写入目的表,这样代码改动不大。
zhaochengqing 2005-06-02
  • 打赏
  • 举报
回复
to Leftie(左手,为人民币服务) :
要怎么来控制Datagrid的循环呢
它的那个属性可以控制?
of123 2005-06-02
  • 打赏
  • 举报
回复
那要怎么样让Datagrid1添加一行呢?

DataGrid1.AllowAddNew = True


lightwu 2005-06-02
  • 打赏
  • 举报
回复
绑定,adodc1 locktype=4(批处理),cursorlocation=3(本地),然后在想更新的时候,用adodc1.recordset.updatebatch,即可
xr105 2005-06-02
  • 打赏
  • 举报
回复
用它得到的数据集可以实现在数据的分页加载和批量更新.
'GetRs 为数据集
'AdoCn 为数据连接

With GetRs
.CursorLocation = adUseClient
.Properties("Initial Fetch Size") = 50
.PageSize = 50
.Open MStrSql, AdoCn, adOpenStatic, adLockBatchOptimistic, adAsyncFetch
End With
zhaochengqing 2005-06-02
  • 打赏
  • 举报
回复
那要怎么样让Datagrid1添加一行呢?
代码我不会写啊?
这个控件我不是很熟~~~
daisy8675 2005-06-02
  • 打赏
  • 举报
回复
'adOpenStatic, adLockBatchOptimistic 关键是这句话,批次去打开

Option Explicit

Public Rs As New ADODb.Recordset
Public Conn As New ADODb.Connection

Private Sub cmdAdd_Click()
On Error Resume Next
Rs.AddNew
End Sub

Private Sub cmdCancel_Click()
Unload Me
End Sub

Private Sub cmdDel_Click()
On Error Resume Next
Rs.Delete
End Sub

Private Sub cmdOk_Click()
Rs.UpdateBatch
Unload Me
End Sub

Private Sub Form_Load()
Call Make_connection

If Rs.State <> adStateClosed Then Rs.Close
Rs.Open "select * from Man", Conn, adOpenStatic, adLockBatchOptimistic
Set Me.DataGrid1.DataSource = Rs

End Sub

Public Sub Make_connection()
Dim strConn As String
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\People.mdb;Persist Security Info=False"
Conn.CursorLocation = adUseClient
Conn.Open strConn
End Sub

Private Sub Form_Unload(Cancel As Integer)
If Rs.State <> adStateClosed Then Rs.Close
Conn.Close
Set Rs = Nothing
Set Conn = Nothing
End Sub
of123 2005-06-02
  • 打赏
  • 举报
回复
数据源不要绑定到 ADODC 上。如下:

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset


Private Sub Form_Load()
Set cn = New ADODB.Connection
cn.CursorLocation = adUseClient
cn.ConnectionString = Adodc1.ConnectionString
cn.Open

Set rs = New ADODB.Recordset
rs.Open "select * from t1", cn, adOpenKeyset, adLockBatchOptimistic

Set DataGrid1.DataSource = rs

End Sub

Private Sub Command1_Click()
rs.UpdateBatch
End Sub
Stony1980 2005-06-02
  • 打赏
  • 举报
回复
同意,支持
饮水需思源 2005-06-02
  • 打赏
  • 举报
回复
datagrid不与ADO控件绑字,输入完后循环datagrid控件内容手工写保存语句
zhaochengqing 2005-06-02
  • 打赏
  • 举报
回复
我的数据源是用的Adodc控件。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧