如何将Datatable里的数据批量的插入表里

Jimmyliu2004 2006-01-20 11:14:27
请教各位:如何将Datatable里的数据批量的插入表里,datagrid表的源数据一个文本文件,我已经把它取在datagrid里,现在我想把datagrid的数据全部插入到表里,大家可否帮忙给点见意
...全文
150 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jimmyliu2004 2006-01-23
  • 打赏
  • 举报
回复
请问楼上的高手,在哪加空格啊,如这句应该怎么改呢,帮人帮到底啊,谢了。
Dim sql As String = "insert into attend(empid,in_date,in_time) values" _
& "( '" & Me.DataGrid1.Item(Me.DataGrid1.CurrentRowIndex, 0) & "'," _
& "'" & Me.DataGrid1.Item(Me.DataGrid1.CurrentRowIndex, 1) & "'," _
& "'" & Me.DataGrid1.Item(Me.DataGrid1.CurrentRowIndex, 2) & "')"
HAVENT 2006-01-23
  • 打赏
  • 举报
回复
sql =" " + sql

每句SQL语句用空格隔开即可进行批处理!
pephi 2006-01-23
  • 打赏
  • 举报
回复
Private _Sqls As ArrayList = New ArrayList
Dim sb As StringBuilder = New StringBuilder

For i As Integer = 0 To .RowCount - 1

sb.Append("insert into attend(empid,in_date,in_time) ")
sb.Append("values ( '" & Me.DataGrid1.Item(Me.DataGrid1.i, 0) & "',"
sb.Append("'" & Me.DataGrid1.Item(Me.DataGrid1.i, 1) & "',"
sb.Append("'" & Me.DataGrid1.Item(Me.DataGrid1.i, 2) & "')")
_Sqls.Add(sb.ToString)

Next

循环执行arraylist里面的sql语句
Jimmyliu2004 2006-01-22
  • 打赏
  • 举报
回复
大家给点意见啊,要不我真惨了。
Jimmyliu2004 2006-01-21
  • 打赏
  • 举报
回复
还有人在线吗
Jimmyliu2004 2006-01-21
  • 打赏
  • 举报
回复
以下我单条插入到数据库的代码,大家能不能修改使其批量插入:
If MsgBox("是否要更新到数据库?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
If sqlconn.State <> ConnectionState.Open Then
sqlconn.Open()
End If

Dim MyAdapter As New SqlDataAdapter
Dim sql As String = "insert into attend(empid,in_date,in_time) values" _
& "( '" & Me.DataGrid1.Item(Me.DataGrid1.CurrentRowIndex, 0) & "'," _
& "'" & Me.DataGrid1.Item(Me.DataGrid1.CurrentRowIndex, 1) & "'," _
& "'" & Me.DataGrid1.Item(Me.DataGrid1.CurrentRowIndex, 2) & "')"
MyAdapter.InsertCommand = New SqlCommand(sql, sqlconn)
MyAdapter.InsertCommand.ExecuteNonQuery()
End If
ggw128 2006-01-21
  • 打赏
  • 举报
回复
這樣應該來得直接一點吧。
cari_ayong 2006-01-21
  • 打赏
  • 举报
回复
对dt做一个循环,取出一个name insert一下
ggw128 2006-01-21
  • 打赏
  • 举报
回复
樓主,你覺得我這方法如何呢?
ggw128 2006-01-21
  • 打赏
  • 举报
回复
可以先用一個FOR循環把表格裡的數據寫到一個臨時表,然後再把臨時表的記錄批次INSERT到數據庫中。
如:
Create Table #A(A int,B Nvarchar(50)).....
For i=0 to DataTable.rows.count-1
....
Insert Into #A
Next

Insert Into Table (...) Select A,B From #A
Jimmyliu2004 2006-01-21
  • 打赏
  • 举报
回复
是倒数第三行有错
Jimmyliu2004 2006-01-21
  • 打赏
  • 举报
回复
这是我自己做的一个例子,但执行不下:例数第三行有错
Dim dt As DataTable = New DataTable
Dim dr As DataRow
dt.Columns.Add(New DataColumn("name"))
Dim j As Integer
For j = 0 To 10
dr = dt.NewRow()
dr(0) = "name" + j.ToString
dt.Rows.Add(dr)
Next
Me.DataGrid1.DataSource = dt

Dim MyAdapter As New SqlDataAdapter
Dim cmd As New SqlCommand("Insert Into attend values (@name)", sqlconn)
cmd.Parameters.Item("@name").SourceColumn = dt.Columns("name").ColumnName
MyAdapter.Update(dt)
sqlconn.Close()
Jimmyliu2004 2006-01-21
  • 打赏
  • 举报
回复
四楼的大哥,可否说得详细点,我还在线,或是贴点代码出来。谢了。
wind_013 2006-01-21
  • 打赏
  • 举报
回复
可否说得详细一点



====CSDN 小助手 V2.5 2005年11月05日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2

惊喜
无偿送域名(K i l l J a p a n e s e.com),请联系QQ32528568
先到先得。2005年11月21日 21:29分开始。

cari_ayong 2006-01-21
  • 打赏
  • 举报
回复
将datatable中的数据一条一条取出,然后添加到数据库
Jimmyliu2004 2006-01-21
  • 打赏
  • 举报
回复
望高人能现身解决一下,在线等

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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