应用VS2005 SQL事务和批量插入数据
2007-03-19 17:28 ruinet 阅读(1225) 评论(0) 编辑 收藏 举报 1
'创建表
2
dtAgenda = New DataTable
3
dtAgenda.Columns.Add("ID", GetType(System.Int32))
4
dtAgenda.Columns.Add("FromDate", GetType(System.DateTime))
5
dtAgenda.Columns.Add("ToDate", GetType(System.DateTime))
6
dtAgenda.Columns.Add("Region", GetType(System.String))
7
dtAgenda.Columns.Add("Company", GetType(System.String))
8
dtAgenda.Columns.Add("Content", GetType(System.String))
9![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
'================================
11
dtCost = New DataTable
12
dtCost.Columns.Add("ID", GetType(System.Int32))
13
dtCost.Columns.Add("FromDate", GetType(System.DateTime))
14
dtCost.Columns.Add("ToDate", GetType(System.DateTime))
15
dtCost.Columns.Add("Ticket", GetType(System.Int32))
16
dtCost.Columns.Add("Live", GetType(System.Int32))
17
dtCost.Columns.Add("Allowance", GetType(System.Int32))
18
dtCost.Columns.Add("Public", GetType(System.Int32))
19
dtCost.Columns.Add("Others", GetType(System.Int32))
20![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
1 Dim tr As SqlTransaction = Nothing
2 Dim cmd As New SqlCommand
3 Dim insertCmd As SqlCommand
4 Dim strSQL As String
5 Dim da As SqlDataAdapter
6 Dim FID As Int32 = Nothing
7
8 Try
9 If Not MyConnect() Then
10 Return False
11 End If
12
13 strSQL = "insert into SMCGZ_BussinessTrip (WorkerID,FromDate,ToDate,ApplyDate) Values ('" + WorkerID + "','" + FromDate + "','" + ToDate + "','" + Now.Date.ToString + "')"
14
15 tr = Conn.BeginTransaction
16 With cmd
17 .CommandText = strSQL
18 .Transaction = tr
19 .Connection = Conn
20 .ExecuteNonQuery()
21 End With
22
23 strSQL = "select top(1) ID from SMCGZ_BussinessTrip order by ID DESC"
24 cmd.CommandText = strSQL
25 FID = cmd.ExecuteScalar()
26
27
28 strSQL = "insert into SMCGZ_BussinessContent (FID,FromDate,ToDate,Region,Company,Content) values (" & FID & ",@FromDate,@ToDate,@Region,@Company,@Content)"
29 da = New SqlDataAdapter()
30 insertCmd = New SqlCommand(strSQL, Conn)
31
32 insertCmd.Parameters.Add("@FromDate", SqlDbType.DateTime)
33 insertCmd.Parameters.Add("@ToDate", SqlDbType.DateTime)
34 insertCmd.Parameters.Add("@Region", SqlDbType.NVarChar)
35 insertCmd.Parameters.Add("@Company", SqlDbType.NVarChar)
36 insertCmd.Parameters.Add("@Content", SqlDbType.NVarChar)
37
38 insertCmd.Parameters.Item("@FromDate").SourceColumn = dtAgenda.Columns("FromDate").ColumnName
39 insertCmd.Parameters.Item("@ToDate").SourceColumn = dtAgenda.Columns("ToDate").ColumnName
40 insertCmd.Parameters.Item("@Region").SourceColumn = dtAgenda.Columns("Region").ColumnName
41 insertCmd.Parameters.Item("@Company").SourceColumn = dtAgenda.Columns("Company").ColumnName
42 insertCmd.Parameters.Item("@Content").SourceColumn = dtAgenda.Columns("Content").ColumnName
43
44
45 da.InsertCommand = insertCmd
46 da.InsertCommand.Transaction = tr
47 da.Update(dtAgenda)
48
49
50
51 strSQL = "insert into SMCGZ_BussinessCost (FID,FromDate,ToDate,Ticket,Live,Allowance,[Public],Others) values (" & FID & ",@FromDate,@ToDate,@Ticket,@Live,@Allowance,@Public,@Others)"
52 insertCmd = New SqlCommand(strSQL, Conn)
53 insertCmd.Parameters.Add("@FromDate", SqlDbType.DateTime)
54 insertCmd.Parameters.Add("@ToDate", SqlDbType.DateTime)
55 insertCmd.Parameters.Add("@Ticket", SqlDbType.Int)
56 insertCmd.Parameters.Add("@Live", SqlDbType.Int)
57 insertCmd.Parameters.Add("@Allowance", SqlDbType.Int)
58 insertCmd.Parameters.Add("@Public", SqlDbType.Int)
59 insertCmd.Parameters.Add("@Others", SqlDbType.Int)
60
61 insertCmd.Parameters.Item("@FromDate").SourceColumn = dtCost.Columns("FromDate").ColumnName
62 insertCmd.Parameters.Item("@ToDate").SourceColumn = dtCost.Columns("ToDate").ColumnName
63 insertCmd.Parameters.Item("@Ticket").SourceColumn = dtCost.Columns("Ticket").ColumnName
64 insertCmd.Parameters.Item("@Live").SourceColumn = dtCost.Columns("Live").ColumnName
65 insertCmd.Parameters.Item("@Allowance").SourceColumn = dtCost.Columns("Allowance").ColumnName
66 insertCmd.Parameters.Item("@Public").SourceColumn = dtCost.Columns("Public").ColumnName
67 insertCmd.Parameters.Item("@Others").SourceColumn = dtCost.Columns("Others").ColumnName
68
69 da.InsertCommand = insertCmd
70 da.InsertCommand.Transaction = tr
71 da.Update(dtCost)
72
73 tr.Commit()
74
75 Return True
76
77
78 Catch ex As Exception
79 tr.Rollback()
80 Throw ex
81
82 Finally
83 Conn.Close()
84
85 End Try
2 Dim cmd As New SqlCommand
3 Dim insertCmd As SqlCommand
4 Dim strSQL As String
5 Dim da As SqlDataAdapter
6 Dim FID As Int32 = Nothing
7
8 Try
9 If Not MyConnect() Then
10 Return False
11 End If
12
13 strSQL = "insert into SMCGZ_BussinessTrip (WorkerID,FromDate,ToDate,ApplyDate) Values ('" + WorkerID + "','" + FromDate + "','" + ToDate + "','" + Now.Date.ToString + "')"
14
15 tr = Conn.BeginTransaction
16 With cmd
17 .CommandText = strSQL
18 .Transaction = tr
19 .Connection = Conn
20 .ExecuteNonQuery()
21 End With
22
23 strSQL = "select top(1) ID from SMCGZ_BussinessTrip order by ID DESC"
24 cmd.CommandText = strSQL
25 FID = cmd.ExecuteScalar()
26
27
28 strSQL = "insert into SMCGZ_BussinessContent (FID,FromDate,ToDate,Region,Company,Content) values (" & FID & ",@FromDate,@ToDate,@Region,@Company,@Content)"
29 da = New SqlDataAdapter()
30 insertCmd = New SqlCommand(strSQL, Conn)
31
32 insertCmd.Parameters.Add("@FromDate", SqlDbType.DateTime)
33 insertCmd.Parameters.Add("@ToDate", SqlDbType.DateTime)
34 insertCmd.Parameters.Add("@Region", SqlDbType.NVarChar)
35 insertCmd.Parameters.Add("@Company", SqlDbType.NVarChar)
36 insertCmd.Parameters.Add("@Content", SqlDbType.NVarChar)
37
38 insertCmd.Parameters.Item("@FromDate").SourceColumn = dtAgenda.Columns("FromDate").ColumnName
39 insertCmd.Parameters.Item("@ToDate").SourceColumn = dtAgenda.Columns("ToDate").ColumnName
40 insertCmd.Parameters.Item("@Region").SourceColumn = dtAgenda.Columns("Region").ColumnName
41 insertCmd.Parameters.Item("@Company").SourceColumn = dtAgenda.Columns("Company").ColumnName
42 insertCmd.Parameters.Item("@Content").SourceColumn = dtAgenda.Columns("Content").ColumnName
43
44
45 da.InsertCommand = insertCmd
46 da.InsertCommand.Transaction = tr
47 da.Update(dtAgenda)
48
49
50
51 strSQL = "insert into SMCGZ_BussinessCost (FID,FromDate,ToDate,Ticket,Live,Allowance,[Public],Others) values (" & FID & ",@FromDate,@ToDate,@Ticket,@Live,@Allowance,@Public,@Others)"
52 insertCmd = New SqlCommand(strSQL, Conn)
53 insertCmd.Parameters.Add("@FromDate", SqlDbType.DateTime)
54 insertCmd.Parameters.Add("@ToDate", SqlDbType.DateTime)
55 insertCmd.Parameters.Add("@Ticket", SqlDbType.Int)
56 insertCmd.Parameters.Add("@Live", SqlDbType.Int)
57 insertCmd.Parameters.Add("@Allowance", SqlDbType.Int)
58 insertCmd.Parameters.Add("@Public", SqlDbType.Int)
59 insertCmd.Parameters.Add("@Others", SqlDbType.Int)
60
61 insertCmd.Parameters.Item("@FromDate").SourceColumn = dtCost.Columns("FromDate").ColumnName
62 insertCmd.Parameters.Item("@ToDate").SourceColumn = dtCost.Columns("ToDate").ColumnName
63 insertCmd.Parameters.Item("@Ticket").SourceColumn = dtCost.Columns("Ticket").ColumnName
64 insertCmd.Parameters.Item("@Live").SourceColumn = dtCost.Columns("Live").ColumnName
65 insertCmd.Parameters.Item("@Allowance").SourceColumn = dtCost.Columns("Allowance").ColumnName
66 insertCmd.Parameters.Item("@Public").SourceColumn = dtCost.Columns("Public").ColumnName
67 insertCmd.Parameters.Item("@Others").SourceColumn = dtCost.Columns("Others").ColumnName
68
69 da.InsertCommand = insertCmd
70 da.InsertCommand.Transaction = tr
71 da.Update(dtCost)
72
73 tr.Commit()
74
75 Return True
76
77
78 Catch ex As Exception
79 tr.Rollback()
80 Throw ex
81
82 Finally
83 Conn.Close()
84
85 End Try