(DISTFILES): Comment out a few missing files.
[mono-project.git] / mcs / class / ByteFX.Data / mysqlclient / docs / MySqlTransaction.xml
blob2211573a3d16faf0774652bf0492cc4b20f96587
1 <MyDocs>\r
2 <MyMembers name="Class">\r
3 <remarks>\r
4         The application creates a <B>MySqlTransaction</B> object by calling <see cref="MySqlConnection.BeginTransaction"/>\r
5         on the <see cref="MySqlConnection"/> object. All subsequent operations associated with the \r
6         transaction (for example, committing or aborting the transaction), are performed on the \r
7         <B>MySqlTransaction</B> object.\r
8 </remarks>\r
9 \r
10 <example>\r
11         The following example creates a <see cref="MySqlConnection"/> and a <B>MySqlTransaction</B>. \r
12         It also demonstrates how to use the <see cref="MySqlConnection.BeginTransaction"/>, \r
13         <see cref="MySqlTransaction.Commit"/>, and <see cref="MySqlTransaction.Rollback"/> methods.\r
14         <code lang="Visual Basic">\r
15 Public Sub RunTransaction(myConnString As String)\r
16     Dim myConnection As New MySqlConnection(myConnString)\r
17     myConnection.Open()\r
18     \r
19     Dim myCommand As MySqlCommand = myConnection.CreateCommand()\r
20     Dim myTrans As MySqlTransaction\r
21     \r
22     ' Start a local transaction\r
23     myTrans = myConnection.BeginTransaction()\r
24     ' Must assign both transaction object and connection\r
25     ' to Command object for a pending local transaction\r
26     myCommand.Connection = myConnection\r
27     myCommand.Transaction = myTrans\r
28     \r
29     Try\r
30       myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')"\r
31       myCommand.ExecuteNonQuery()\r
32       myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')"\r
33       myCommand.ExecuteNonQuery()\r
34       myTrans.Commit()\r
35       Console.WriteLine("Both records are written to database.")\r
36     Catch e As Exception\r
37       Try\r
38         myTrans.Rollback()\r
39       Catch ex As MySqlException\r
40         If Not myTrans.Connection Is Nothing Then\r
41           Console.WriteLine("An exception of type " &amp; ex.GetType().ToString() &amp; _\r
42                             " was encountered while attempting to roll back the transaction.")\r
43         End If\r
44       End Try\r
45     \r
46       Console.WriteLine("An exception of type " &amp; e.GetType().ToString() &amp; _\r
47                       "was encountered while inserting the data.")\r
48       Console.WriteLine("Neither record was written to database.")\r
49     Finally\r
50       myConnection.Close()\r
51     End Try\r
52 End Sub 'RunTransaction\r
53         </code>\r
54         <code lang="C#">\r
55 public void RunTransaction(string myConnString) \r
56  {\r
57     MySqlConnection myConnection = new MySqlConnection(myConnString);\r
58     myConnection.Open();\r
60     MySqlCommand myCommand = myConnection.CreateCommand();\r
61     MySqlTransaction myTrans;\r
63     // Start a local transaction\r
64     myTrans = myConnection.BeginTransaction();\r
65     // Must assign both transaction object and connection\r
66     // to Command object for a pending local transaction\r
67     myCommand.Connection = myConnection;\r
68     myCommand.Transaction = myTrans;\r
70     try\r
71     {\r
72       myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')";\r
73       myCommand.ExecuteNonQuery();\r
74       myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')";\r
75       myCommand.ExecuteNonQuery();\r
76       myTrans.Commit();\r
77       Console.WriteLine("Both records are written to database.");\r
78     }\r
79     catch(Exception e)\r
80     {\r
81       try\r
82       {\r
83         myTrans.Rollback();\r
84       }\r
85       catch (MySqlException ex)\r
86       {\r
87         if (myTrans.Connection != null)\r
88         {\r
89           Console.WriteLine("An exception of type " + ex.GetType() +\r
90                             " was encountered while attempting to roll back the transaction.");\r
91         }\r
92       }\r
93     \r
94       Console.WriteLine("An exception of type " + e.GetType() +\r
95                         " was encountered while inserting the data.");\r
96       Console.WriteLine("Neither record was written to database.");\r
97     }\r
98     finally \r
99     {\r
100       myConnection.Close();\r
101     }\r
103         </code>\r
104 </example>\r
107 </MyMembers>\r
111 </MyDocs>