dotConnect for MySQL Documentation
Devart.Data.MySql Namespace / MySqlLoader Class / Lock Property
Example

Lock Property
Determines whether to add LOCK TABLES ... WRITE clause before data loading.
Syntax
'Declaration
 
Public Property Lock As Boolean
 

Property Value

true, if LOCK TABLES ... WRITE clause should be added before data loading; otherwise, false. The default value is false.
Remarks
Using this option to prevent other users from modifying the table while you load the data in it. MySQL does not allow to use both Delayed and Lock options at the same time.

The table remains locked untill you call Close method, or lock another table, or close the thread that issued LOCK operation.

Note that when you have locked a table, you can not access any other table from the same thread.

Example
The following example creates a MySqlLoader, then populates Columns collection from table description, loads data, flushes the buffer and disposes internal MySqlLoader structures. The MySqlLoader requires an open connection.
public void LoadData(MySqlConnection myConnection)
{
  myConnection.Open();
  myConnection.Database = "Test";
  MySqlLoader loader = new MySqlLoader();
  loader.Connection = myConnection;
  loader.TableName = "load_table";
  loader.Lock = true;
  try
  {
    loader.CreateColumns();
    loader.Open();
    for (int i = 1; i <= 10000; i++)
    {
      loader.SetValue("id", i);
      loader.SetValue("char_field", "test string");
      loader.SetValue("date_field", DateTime.Now);
      loader.NextRow();
    }
    loader.Close();
  }
  finally
  {
    myConnection.Close();
  }
}
Public Sub LoadData(ByVal myConnection As MySqlConnection)
  myConnection.Open()
  myConnection.Database = "Test"
  Dim loader As MySqlLoader
  loader = New MySqlLoader
  loader.Connection = myConnection
  loader.TableName = "load_table"
  loader.Lock = True
  Try
    loader.CreateColumns()
    loader.Open()
    Dim i As Integer
    For i = 1 To 10000
      loader.SetValue("id", i)
      loader.SetValue("char_field", "test string")
      loader.SetValue("date_field", DateTime.Now)
      loader.NextRow()
    Next i
    loader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also