public void Main()
        {
            using (MercatorSqlConnection sqlConn = new MercatorSqlConnection(Globals.RepData, true))
            {
                if (sqlConn.Connection == null)
                    return;
                using (SqlTransaction trans = sqlConn.Connection.BeginTransaction())
                using (SqlCommand sqlCommand = new SqlCommand("select id,userpsw from matablecustom where userpsw<>''", sqlConn.Connection, trans))
                {
                    DataSet ds = Api.Zselect(sqlConn.Connection, sqlCommand);
                    if (ds == null)
                        return;
                    foreach (DataRow dr in ds.Tables[0].Rows)
                        dr["userpsw"] = MercatorCryptorEngine.CryptorEngine.MercatorEncryptRsaAes(dr["userpsw"].ToString());
 
                    if (!Api.BulkDataTable(ds.Tables[0], "#matablecustom", sqlConn.Connection, trans, "matablecustom"))
                        return;

                    sqlCommand.CommandText = "update matablecustom set userpsw = #matablecustom.userpsw from #matablecustom where #matablecustom.id = teamviewer.id \r\n"
                                           + "alter table matablecustom add constraint USERPSW_ENCRYPTED CHECK ((userpsw='') or (left(userpsw,1)=char(1) and right(userpsw,1)=char(3))) \r\n"
                                           + "drop table #matablecustom";
                    if (Api.SqlExec(sqlCommand))
                    {
                        Api.SafeCommit(trans);
                        MercatorUi.Dialogs.Stop("OK");
                    }
                    else
                    {
                        Api.SafeRollback(trans);
                    }
                }
            }
        }